Ahoj,
mám data v tabulce (tady na wz) a normálně je vypisuju na web. Přitom používám kódování utf-8 (posílám v hlavičce). V databázi jsem se kódování nijak nastavit nesnažil, ani nevím jestli to v místní verzi mysql jde a že se mi zobrazí špatně v myadminu je mi jedno, hlavně když je dobře na webu.
Teď si ještě dělám rss čtečku a tam jsem narazil. Šlape mi v pohodě až na to kódování. Vypisuju xml pro rss jako iso (někde jsem četl že se to má) a tak se mi data z db správně nezobrazí. Zkouším čarovat s iconv na výpisu toho xml, převádět to z iso na utf, apod. ,ale nedaří se a moc mi není jasné kde je chyba. Respektive asi v tom kódování v db, ale nevím si rady.
Takže moje otázka pro chytré hlavy: když vložím text do db přes webovský formulář, v jakém se uloží kódování?
Tak už vím, že v db jsou data jako iso a data vložená přes formulář jdou do db v kódování nastaveném ve formuláři. V adminu se mi teď zobrazují správně, ale xml pro rss se mi pořád nezobrazuje správně.
Uloží se v kódování iso-8859-2, ale je to jen mé IMHO a možná se pletu. Mrkni na:
http://www.abclinuxu.cz/forum/show/100596
http://php.vrana.cz/mysql-4-1-kodovani.php
http://blog.boot.cz/?p=25
http://www.hostingzdarma.cz/index.php3?id_temata=562&lang=cz&menu=8&submenu=0&stranka=diskuse_3.php3
>> Vypisuju xml pro rss jako iso (někde jsem četl že se to má)
To si myslím, že na tom nezáleží. Jen vím, že v XML pokud se použije kódování utf-8, tak se v záhlaví nemusí uvádět.
Já zatím četl toho Vránu (už dřív) , ale to se podle mě týká jiné,novější verze mysql než je na wz. Na wz je mysql MySQL 4.0.24 a tyhle články se týkají verze 4.1.
Teď každopádně mám data v db jako iso-8859-2 a myslel jsem si, že teda jen přidám při výpisu do hlavičky header ('charset: iso-8859-2'); , což bohužel není správně.
I když si to xml otevřu v prohlížeči, tak se zobrazí správně. Jen čtečka (feedreader) to někde kazí.
Napiš URL toho souboru XML (RSS).
http://soukup.wz.cz/rss/rss_generator.php
Zkusil jsem si do té čtečky přidat odkaz i na jeden blog z bloguje. cz a je to rozházený úplně stejně.
Zkoušel jsem si tuhle adresu dát do Abilonu (RSS čtečka) a diakritika se tam zobrazuje normálně.
Já to zkouším ve feedreaderu, přednášející rozeslala mail ve kterým tuhle čtečku doporučuje, takže počítám že jí bude většina používat. Ale nezobrazuje mi správně diakritiku ani u jiných (mám v ní nastavený středoevropský font), takže se na to už asi vykašlu.
Zkus si stáhnout ten Abilon, já si na něj nemohu stěžovat:
http://www.stahuj.cz/internet_a_site/prohlizece_a_rozsireni/ostatni/abilon
Já to RSS zkusil v FeedDemonu a zobrazuje se to správně.
taky jsem s tim mel problem. vse musi byt v iso8895-2, proto mam v feedcratoru fci
function CISO($string){
$CString = iconv("Windows-1250", "ISO-8859-2", $string);
return $CString;
}
tak si tam místo win-1250 hod UTF-8 a uzivej...
a jeste pod spojeni s DB prihod
$DBCoding = "utf-8";
MySQL_Query("SET character_set_results=" . $DBCoding);
MySQL_Query("SET character_set_connection=" . $DBCoding);
MySQL_Query("SET character_set_client=" . $DBCoding);
at je to jisty... vystup na klienta by totiz teoreticky mel probihat dle nastaveni serveru v httpd.conf...
Teuzz:
win-1250 nepoužívám, nejdřív jsem to měl v utf a potom jsem to převedl do iso.
Já s iconv dost laboroval a nakonec to vyřešil přechod na jinou čtečku. Docela se chytla mezi spolužáky, takže už to neřeším.