Sziasztok.
A multilingual változóknál tapasztaltam egy érdekes problémát. Ha a változó (pl. site_offline_message) tartalmaz "ő" vagy "ű" karaktereket, akkor a beállításakor az adatbázisba bekerül a szöveg, de ezt követően sehol sem jelenik meg az oldalon. Az összes többi ékezet esetén rendben működik.
Eddig a régi 1.0 verziót használtam, frissítettem 2.2-re, valamint a drupal.org-on találtam ezt, de hiába konvertálta át az i18n tábláit utf8-ra, nem működik. A konvertálást követően a változót tartalmazó sort eltávolítottam az i18n_variable táblából, majd újból beállítottam az értékét a webhely karbantartás menüpont alatt. A probéma továbbra is fennáll.
Ha valakinek lenne ötlete, azt megköszönném.
Zoli
Fórum:
Megoldás
Válaszolok magamnak. A probléma az i18n táblák karakterkódolása miatt volt. A modul 1.x verziói valamilyen oknál fogva latin1 kódolású táblákat használtak. A frissítés során a táblák és az adatok kódolása nem változott, kézzel csináltam meg a következő módon minden i18n_* táblára:
ALTER TABLE i18n_variable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Persze a fenti script is működik, csak figyelmetlen voltam, nem vettem észre, hogy nincs benne mysql_query, csak echo.
Üdv: Zoli
Ez valószínű azért van,
Ez valószínű azért van, mert az adatbázisod alapértelmezett karakterkészlete latin1.
Aries
http://aries.mindworks.hu
Én is erre gondoltam,
Én is erre gondoltam, de:
Ez egy dedikált szerver, a mysql konfighoz nem lett hozzányúlva a telepítése óta csak tuning célból, ami nem érintette a karakterkódolásokat. Ha lesz egy kis időm megpróbálom egy kis tesztkörnyezetben az eredeti installt reprodulálni a szerveren, hátha sikerül rájönni.
Üdv: Zoli
Olyan jó, hogy ez a MySQL-ben
Olyan jó, hogy ez a MySQL-ben túl van bonyolítva. A NAMES értéke és a connection karakterkódolása (lásd: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html) micsoda?
A my.cnf-ban nincs külön
A my.cnf-ban nincs külön beállítva a set names csak a default-character-set = utf8. Az adatbázisdump-okban ez szerepel: /*!40101 SET NAMES utf8 */;
Ezen kívül:
Nem találtam sehol a szerverben bármi más kódolásra utaló nyomot. Ennek ellenére a konvertálás előtti dump-okban az i18n_* táblák létrehozásánál: DEFAULT CHARSET=latin1.
Üdv: Zoli