A MySQL telepítés után érdemes beállítani a characterset-eteket, hogy kiküszöböljük a későbbiekben felmerülő esetleges problémákat.
Telepítés utána ez fogad minket (kivágva a felesleget):
mysql> status -------------- mysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (x86_64) ... 5.2 Server version: 5.0.51a-21 (Debian) Protocol version: 10 ... Server characterset: utf8 Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 ... mysql>
Ez azért okoz gondot, mert az ékezetes sorba rendezés nem úgy működik ahogy kellene. Az ékezetes karaktereket a latin1 kódolás miatt érték szerint rakja be a sorba, nem pedig jelentésük szerint.
Módosítsuk a /etc/mysql/my.cnf fájlt az alábbiak szerint:
[client] default-character-set = utf8 ... [mysqld] default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci ... [mysql] default-character-set = utf8 ...
Miután a [mysql]-ben is megadtuk, így a [client]-ben nem kellene, de ajánlott. Valamint a collation-server is lehetne utf8_hungarian_ci, de az 5.0-ás sorozatban még hibás (5.1.5-ben jelezték, hogy korrigálták).
Indítsuk újra a MySQL-t:
root@bash# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables... root@bash#
Majd csekkoljuk a MySQL-ben a 4db characterset állapotát:
mysql> status -------------- mysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (x86_64) ... 5.2 Server version: 5.0.51a-21 (Debian) Protocol version: 10 ... Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 ... mysql>
No így már minden stimmel, lehet feltölteni a DB-t és használni az ékezetes sorba rendezést. Igaz tartalmaz még egy hibát: egy ékezetes betű rövid és hosszú alakja alapesetben egyenlő a rendezés során, kivéve, ha a szó a többi betűjében megegyezik, mert akkor a rövid alak megelőzi a hosszú alakot:
Helyes sorrendek: #1 Ádám, Alma, Ödön, Olga #2 Alma, Álma
Más ékezet hiba nincs benne, de az összetett mássalhangzókat még rosszul kezeli, mint például: cs, dz, dzs, gy, ty, stb.
thx a helpet!
nagyon hasznos es jol ertelmezheto leirasaid vannak, elismeresem 😉