Allora, vado immediatamente al problema, il quale è la difficoltà nel comprendere alcune cose riguardo ai tipi di stringhe. Di seguito vi illustrerò i vari dubbi.
Quindi facciamo un esempio, io ho una tabella =>
Allora se non sbaglio il campo stringa risulterà la collation binaria del charset latin1 giusto? Ma che cambia se è binaria o non?
Quello che vedo nel DB è lo stesso sia che abbia collation latin1_swedish_ci che bin.
La collation dovrebbe essere(sempre se ho capito bene), un fattore di confronto tra le stringhe.
Tipo se ho una stringa ciao con collation latin1_swedish_ci e la confronto con una cs che è CiAo, dovrebberò risultare diverse giusto?
Vabbè poi ci sono i vari attributi e penso di non avere problemi, ripeto PENSO.
C'è NATIONAL che utilizza il Charset di default in questo caso quello della tabella. Poi BINARY la collation binaria, nel quale ho ancora dubbi. ASCII e UNICODE che si riferiscono al Charset rispettivo.
Infine, BINARY e VARBINARY, ho letto che non hanno character set, e quindi memorizzano le stringhe di byte invece di caratteri con un riempimento a destra di byte 0x00. Ecco l'ho provati ad utilizzare ma nella lettura mi risultano sempre caratteri e non stringhe di byte.
Ecco penso che sia tutto.
Quindi facciamo un esempio, io ho una tabella =>
Codice:
CREATE TABLE prova(
id INT PRIMARY KEY auto_increment,
stringa VARCHAR(20) BINARY) DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Allora se non sbaglio il campo stringa risulterà la collation binaria del charset latin1 giusto? Ma che cambia se è binaria o non?
Quello che vedo nel DB è lo stesso sia che abbia collation latin1_swedish_ci che bin.
La collation dovrebbe essere(sempre se ho capito bene), un fattore di confronto tra le stringhe.
Tipo se ho una stringa ciao con collation latin1_swedish_ci e la confronto con una cs che è CiAo, dovrebberò risultare diverse giusto?
Vabbè poi ci sono i vari attributi e penso di non avere problemi, ripeto PENSO.
C'è NATIONAL che utilizza il Charset di default in questo caso quello della tabella. Poi BINARY la collation binaria, nel quale ho ancora dubbi. ASCII e UNICODE che si riferiscono al Charset rispettivo.
Infine, BINARY e VARBINARY, ho letto che non hanno character set, e quindi memorizzano le stringhe di byte invece di caratteri con un riempimento a destra di byte 0x00. Ecco l'ho provati ad utilizzare ma nella lettura mi risultano sempre caratteri e non stringhe di byte.
Ecco penso che sia tutto.