Autor Zpráva
baki
Profil
Zdravím, začínám s php a narazil jsem na problém s kódováním. Přečetl jsem si o tom dost věcí, ale pořád tomu nemůžu přijít na kloub.
1.) když nastavím default_charset utf-8 v php.ini, tak phpinfo() mi vypise default_charset no value (a ano, restartnuj jsem apache)
2.)když ukládám do databáze, tak se to ukládá s klikihákama misto čřžž...

a zdá se mi hrozně neohrabané při každé manipulaci s daty provádět jejich převod ...
keeehi
Profil
2) Tohle přidej někam hned za přihlášení k databázi. Mělo by to fungovat
mysql_query("SET NAMES 'utf8'");
baki
Profil
výborně, díky moc ... a teď ještě ten charset .... možná to není nic duležitého, ale co kdyby :)
AM_
Profil
na default_charset bych úplně kašlal, stačí, aby ti sedělo skutečné kódování souborů, kódování poslané v hlavičce (přes header nebo meta tag) a kódování databáze (+ direktiva SET NAMES), PHP samotné interně žádné textové operace s řetězci neprovádí, bere řetězec jako binární data (alespoň pokud vím); default_charset jsem nikdy nepoužil a problémy s diakritikou nemám.
baki
Profil
oki ... tak to resit nebudu :)
baki
Profil
jen jeste dotaz ... jaky je rozdil mezi mysql_query("SET NAMES 'utf8'"); a mysql_query("SET CHARACTER SET 'utf8'");?
AM_
Profil
teď přesně nevím rozdíl ale doporučuje se používat druhé (myslím, že SET NAMES se vztahuje ne na všechno, kde se může diakritika vyskytnout)
baki
Profil
právě, že vím že se to doporučuje, ale když jsem to použil ,tak se mi do tabulky neuložily správně některé znaky, tuším č,ř,é . možná ještě něco ... nevím
zvěřiňák
Profil *
Tady to máš podrobně vysvětlené.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0