Problém s kódováním v BLOG:CMS na banan.cz
Občas je dobré se spolehnout na produkty jiných osob. Pokud chcete začít psát eZine, proč programovat vlastní CMS systém, když jeden velmi kvalitní existuje (BLOG:CMS). Rovněž nemá cenu si kupovat nový server, instalovat a konfigurovat veškerý software na něm a pak draze platit za umístění tohoto počítače v nějakém „server house“, když lze využít služeb nějakého placeného hostingu (v mém případě banan.cz). Zlé ovšem je, když i přes využití produktů, které zaručují bezproblémové používání, problémy nastanou ...
Podobné problémy mě trápily již před časem. Na hostingu přepnuli nastavení databáze MySQL (zřejmě vypnuli defaultní kódování UTF-8) a tak z ničeho nic zmizely z mých stránek české znaky a byly nahrazeny "?" znaky otazníku. Tehdy jsme hosting urgoval tak dlouho, dokud vše nenapravil – jak se to podpoře povedlo, to doteď nevím a je to možná škoda. Minulý týden jsem instaloval poslední verzi aplikace BLOG:CMS 4.0.0j na jednu poddoménu a narazil na stejné problémy. Opět jsem chybu oznámil na podporu.
Rada č. 1: Musíte mít v zdrojovém kódu nastaveno kódování data přijímaných z databáze:
sql_query("SET NAMES 'utf8'");
sql_query("SET CHARACTER SET 'utf8'");
Myslíte si, že něco takového Radek Hulán při vývoji aplikace opomněl? Nikoliv!
Rada č. 2: Databáze má nastaveno kódování na cp1250! BLOG:CMS neobsahuje v instalační dávce nastavení kódování jednotlivých tabulek a správné collation. To je jeden potenciální problém. Bohužel, při vytváření databáze přes administrační rozhraní hostingu si nezvolíte, jaké kódování bude ona databáze mít a změna přes aplikaci phpMyAdmin není úplně triviální.
Když jsem vše, co podpora hostingu radila, udělal, začala se diakritika zobrazovat správně — až na záludné písmeno "č" a "Č". Jsou to jen dvě písmena, ale nemůžeme požadovat poloviční řešení. Korespondence s podporou pokračovala. Poslal jsem jim (po vyzvání) i přihlašovací údaje do CMS aplikace, aby vše mohli ozkoušet. V neděli dokonce přišel e-mail ... zdá se, že již čeština funguje ...
A mně se zdá, že ne! Co teď? Nesetkal se někdo z vás s podobným problémem? Prosím o jakoukoliv radu. Děkuji.
Komentáře:
Nový komentář:
Komentáře musí být před publikováním schváleny. Děkuji!
Jen maličkost, defaultní kódování MySQL není utf-8 ale latin2... a co se týče věty "Myslíte si, že něco takového Radek Hulán při vývoji aplikace opomněl? Nikoliv!" dalo by se říct, že ano, takto se MySQL chová od verze 4.1. - není to chyba, naopak, konečně byla podpora kódování zavedena.
Nepíše se SET CHARACTER SET 'utf8' ale SET CHARACTER SET utf8
odpověz na tento komentář 17.03. 2006, 14:58Jo problemy s kodovanim na bananu jsou vdecne tema. Nevim jestli uz to napravili, ale donedavna nebyla v jejich FAQu o nejakem sql_query("SET NAMES 'utf8'"); ani zminka. Pokud clovek zarizoval hosting u bananu poprve a nevedel, ze existuje nejaky neprehledny web s nazvem owebu.cz asi moc neporesil. Ikdyz musim se zase zastat technicke podpory na ICQ, ta funguje alespon v mem pripade bezvadne. Takze bacha u bananu vzdy sql_query("SET NAMES 'utf8'"); nebo sql_query("SET NAMES 'Latin2'"); podle toho jakou znakovou sadu pouzivate. Nevite-li si rady mrknete na owebu.cz. S pozdravem Ondřej Coufalík / ozondesign.com
odpověz na tento komentář 21.03. 2006, 14:39Tak jsem narazil na stejny problem. Na 2 domenach to jede bez problemu, ale na treti, ktera je na serveru b02 nastava stejny problem... Psal jsem na tech. podporu, tak jsem zvedavy...
odpověz na tento komentář 19.07. 2007, 01:45Napis jim na podporu znova / vyser se na banan .. Jinak ocenuju ze pouzivas BLOG:CMS, kazdej debilek na nej nadava, jak je spatnej, pritom vubec ne .. Preju Ti at se vse vyresi ;) Pokud se to este nevyresilo :D
odpověz na tento komentář 01.02. 2008, 17:37