Ho notato un problema con i caratteri "non inglesi" (smalto) usando MySQL.Parole MySQL e polacco
query "selezionare 'ABCDE' = 'ABCDE'" restituisce "1" e le stringhe non sono uguale ...
mi può aiutare? :) grazie!!!
Ho notato un problema con i caratteri "non inglesi" (smalto) usando MySQL.Parole MySQL e polacco
query "selezionare 'ABCDE' = 'ABCDE'" restituisce "1" e le stringhe non sono uguale ...
mi può aiutare? :) grazie!!!
Per utf8_general_ci sono uguali (con l'eccezione di ł, che non è considerato un bug da MySQL), e dal 5.6 puoi anche usare utf8_unicode_520_ci che gestisce correttamente tutti i caratteri polacchi. Usa utf8_polish_ci per trattare i caratteri accentati e non accentati come diversi.
select 'abcde'='ąbćdę' COLLATE utf8_polish_ci
>> 0
Demo di 'non un bug'
select 'abcde'='ąbćdę' COLLATE utf8_general_ci
>> 1
select 'abcdel'='ąbćdęł' COLLATE utf8_general_ci
>> 0
Vedere la segnalazione di bug qui: http://bugs.mysql.com/bug.php?id=9604
È possibile sostituire L per L e L per l in query MySQL, in questo modo:
SELECT REPLACE(REPLACE('abcdel', 'Ł', 'L'), 'ł', 'l') = REPLACE(REPLACE('ąbćdęł', 'Ł', 'L'), 'ł', 'l') COLLATE utf8_general_ci
>> 1
e da ora tutte le lettere diacritici uguale ai loro equivalenti non-diacritici.
Vale la pena notare che in MySQL 5.6 è possibile utilizzare colllation "utf8_unicode_520_ci", che gestisce il caso ³ allo stesso modo utf8_general_ci fa con altri personaggi polacchi. – kars7e
Grazie a @bigfun. Aggiunta di queste informazioni alla risposta – Mchl