A minap futottam abba a problémába, hogy egy SQL lekérdezésben az eredmény halmazt a magyar ábécé szerint kellett rendezni. Ez önmagában nem lenne probléma, ha a tábla illetve az a mező, amiből szelektálni akarunk a karakter készlete utf8_hungarian_ci (COLLATION) lenne. Jelen esetben a táblában lévő adatok migrációja UTF-8 kódolásra nem megoldható ezért a SELECT-ben kell megoldani ezt a konverziót.
SELECT id,
CONVERT(CAST(nev_latin1_ben as BINARY) USING utf8) as name
FROM tabla
ORDER BY CONVERT(CAST(nev_latin1_ben as BINARY) USING utf8) COLLATE utf8_hungarian_ci;
A fenti lekérdezés átkonvertálja a mezőben nev_latin1_ben mező tartalmát UTF-8 karakter kódolásra és az eredményhalmazt magyar ábécé szerint rendezi.
Nincsenek megjegyzések:
Megjegyzés küldése