MySQL vs UTF8-order
Hello
Egy apró problémám lenne csak
van egy rendszer, ami tárol többszáz nevet, de mivel az oldal sok helyen ajaxot használ, így muszáj volt utf8-at használnom. ezzel nem is lenne bajom, DE az utf8 a magyar ékezetes karaktereket ugye mindenféle speckó karakterrel oldja meg, és így is érkezik az adatbázisból, így az order paraméterrel a rendes nevek előtt jelennek meg azon nevek, amik ékezetes betűvel kezdődnek.
A nagy kérdés arra vonatkozik, hogy van e arra mód, hogy az "order by"-en belül oldjam meg ezt a problémát.
(arra már gondoltam, hogy a kapott tömbben kellene egy korrektúra, majd sorbarendezés, de mivel a többsorral rendelkező eredmények egy olyan objektumban esnek ki, aminek minden sora egy tömb. Így ez egy kissé megbonyolítja a dolgot)
remélem valakinek sikerült megfejteni a kérdést. Előre is köszi
T.
■ Egy apró problémám lenne csak
van egy rendszer, ami tárol többszáz nevet, de mivel az oldal sok helyen ajaxot használ, így muszáj volt utf8-at használnom. ezzel nem is lenne bajom, DE az utf8 a magyar ékezetes karaktereket ugye mindenféle speckó karakterrel oldja meg, és így is érkezik az adatbázisból, így az order paraméterrel a rendes nevek előtt jelennek meg azon nevek, amik ékezetes betűvel kezdődnek.
A nagy kérdés arra vonatkozik, hogy van e arra mód, hogy az "order by"-en belül oldjam meg ezt a problémát.
(arra már gondoltam, hogy a kapott tömbben kellene egy korrektúra, majd sorbarendezés, de mivel a többsorral rendelkező eredmények egy olyan objektumban esnek ki, aminek minden sora egy tömb. Így ez egy kissé megbonyolítja a dolgot)
remélem valakinek sikerült megfejteni a kérdést. Előre is köszi
T.
Ez alatt mit
Ha azt, hogy kriksz krakszok vannak az adatbázisban, akkor lehet, hogy az adatbázis kapcsolat nem utf-8-as, vagy maguk a táblák nem azok.
Ha a kapcsolat a ludas, akkor miután kapcsolódtál az adatbázishoz, a
Ezáltal az adatbázisban is rendes élezetes karakterek lesznek, így az order by is jó lesz.
:?
Úgy 10 éve alapból UTF-8-at kellene használni. Fájloknál, kommunikációnál, adatbázisnál. Még jó, hogy az Ajax nem is enged mást... Úgyhogy a probléma fordítva van: az a gond, hogy a többi helyen nem azt használsz.
- adatbázis táblák létrehozásánál használd a DEFAULT CHARSET=utf8 -at.
- kapcsolati problémánál lásd előző hozzászóló megoldását
- a text editorodban is UTF-8-ként mentsd a fájlokat.
- a http fejlécekben és a html meta tagben pedig megadni, hogy utf-8-at használsz.
Ha a fentieket megcsinálod, akkor nem igazán lesz problémád azzal, ha vki "speciális" karaktert akar használni egy űrlapon (pl: ë, č, ç), mert mondjuk szerepel a nevében.
Karakterkódolási problémák kiküszöbölése
MySQL 5.0: karakterkódolások
azért utf-8 mert ajax?
Persze, az UTF-8 használata ma már alap. De azt nem értem, hogy hogy jön ide az AJAX?
Attól, hogy egy oldalon használsz AJAX-os megoldásokat, még simán lehet az oldal kódolása Latin2. (még szerencse...)
collation
http://dev.mysql.com/doc/refman/5.0/en/charset-general.html
a sorbarendezést a collation határozza meg. ha az oldal magyar, akkor célszerű utf8_hungarian_ci collationt használni.