|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2003
Città: Modena
Messaggi: 149
|
[MySQL] confronto stringhe con accenti insensitive
Oggi ho piacevolmente scoperto che in MySQL 3.23 di default il confronto fra stringhe non è "accent sensitive", questo vuol dire che se in una query io scrivo una cosa del tipo :
SELECT * FROM Lettere WHERE lettera = 'a'; e nella tabella sono presenti tre record, ad esempio 'a' 'à' 'b' la query mi ritorna due righe, a à , invece di ritornare solo quella con 'a' la "pezza" momentanea è stata quella di mettere l'ipotetico campo "lettera" come CHAR(1) BINARY. Esiste un'altra soluzione, non sò, magari più ortodossa ? Oppure non sò, sto sbagliando qualcosa ? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che io sappia MySQL 4.0 gestisce molto meglio i charset cme quello italiano...poi la 3.23 è ormai obsoleta...
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2003
Città: Modena
Messaggi: 149
|
sì, è vero, è obsoleta, ma quando ti dicono "devi usare questo"...
cmq il problema non credo sia di charset, credo che sia proprio una feature (li mortacci) di mysql !!! Solo per farti un'esempio, al capitolo "5.7.1.1 - Using the German Character Set" dell'ultimo manuale di MySQL trovi scritta una cosa come questa Codice:
When comparing strings with LIKE, the one-character to two-character mapping is not done. All letters are converted to uppercase. Accents are removed from all letters except ü, ä and ö . |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2003
Città: Roma
Messaggi: 767
|
Quote:
Non puoi fare altrimenti... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:26.



















