Autor | Zpráva | ||
---|---|---|---|
baki Profil |
#1 · Zasláno: 28. 4. 2009, 18:38:37
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 · Zasláno: 28. 4. 2009, 18:45:46
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 |
#3 · Zasláno: 28. 4. 2009, 18:51:19
výborně, díky moc ... a teď ještě ten charset .... možná to není nic duležitého, ale co kdyby :)
|
||
AM_ Profil |
#4 · Zasláno: 28. 4. 2009, 19:07:06
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 |
#5 · Zasláno: 28. 4. 2009, 19:14:26
oki ... tak to resit nebudu :)
|
||
baki Profil |
#6 · Zasláno: 28. 4. 2009, 19:49:11
jen jeste dotaz ... jaky je rozdil mezi mysql_query("SET NAMES 'utf8'"); a mysql_query("SET CHARACTER SET 'utf8'");?
|
||
AM_ Profil |
#7 · Zasláno: 28. 4. 2009, 20:19:46
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 |
#8 · Zasláno: 28. 4. 2009, 21:00:28
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 * |
#9 · Zasláno: 28. 4. 2009, 22:31:29
Tady to máš podrobně vysvětlené.
|
||
Časová prodleva: 15 let
|
0