Kodovani v mysql

Petr Vileta stoupa na practisoft.cz
Neděle Únor 24 16:18:10 CET 2008


Dalibor Straka wrote:
> Ahoj,
>
> pouzivam modul vacation do postfixadminu a pri zadani ceske odpovedi
> se mi do databaze ulozi retezec "Příliš žluťoučký" takto:
> "Příli# #luťoučký"
> Je to pomrveny mozna i castecne terminalem. Podstatne je ř -> ř.
> Nevite, kde na ceste browser->php->mysql se to muze takto namapovat?
> Tabulka vacation je definovana takto:
> CREATE TABLE `vacation` (...
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='vacation';
>
> Predtim bylo CHARSET=latin1 se stejnym vysledkem pro ř.
>
No ja s tim pred casem zapasil v Perlu, snad vam moje postrehy pomohou.
Pokud stranka v browseru obsahuje spravny <meta charset> tag, pak je v php 
dulezite nejprve dekodovat prijata data pomoci htmlspecialchars_decode(), ale 
tato funkce je az v php 5.1 (Perl je na tom lepe).
Pak je jeste vhodne nekde uplne na zacatku php skriptu provest MySQL prikaz
SET NAMES utf8;
Ten rekne MySQL, ze vse co bude dostavat je v utf8, bez ohledu na nastaveni 
MySQL serveru jako takoveho.
-- 
Petr
Skype: callto://fidokomik
Na mail uvedeny v headeru zpravy nema cenu nic posilat, konci to v PR* :-)

Odpovidejte na petr na practisoft cz 




Další informace o konferenci Linux