Autor | Zpráva | ||
---|---|---|---|
Terk Profil |
#1 · Zasláno: 23. 6. 2008, 14:05:22
Ahoj chlapi / dámy.
Mám PHP skripty a ukládám a čtu z databáze MySQL. Texty ve skriptech jsou CP-1250, databáze je v kódování CS-UTF-8 (používám PhPMyAdmin 2.6.3), magic_quotes_gpc=ON, NEpoužívám MySQL_Query('set names cp125O'), lokálně používám EasyPHP 2.0B1 Na serveru mi při uložení dat z formuláře a opětném načtení změní "ť" na "?". Na lokálu to nedělá. Jak nejlépe nastavit kódování (a kde - php, direktivy PHP,MysQL,...) aby to vyhovovalo standardu a k těmto chybám nedocházelo ? Díky !!! |
||
ShiraNai7 Profil |
#2 · Zasláno: 23. 6. 2008, 16:05:00
~ mít u tabulek a sloupců v databázi nastaveno dané kódování
~ po připojení k mysql posílat SET NAMES `kodovani` ~ mít skripty na serveru (php) uložené ve správném kódování ~ nastavit interní kódování v php funkcí mb_internal_encoding() ~ posílat do prohlížeče header s definicí správného kódování ~ mít v hlavičce stránky (<head>) meta tag s definicí kódování Nevím jestli jsou všechny tyto body nutné a jestli nejsou některé jen pro utf-8, ale tak to dělám já a nemám žádný problém. |
||
Terk Profil |
#3 · Zasláno: 24. 6. 2008, 10:31:29 · Upravil/a: Terk
ShiraNai7 Díky !!!
Ještě prosím upřesnění: - Vše by mělo být asi UTF-8. Jak převedeš skript PHP do UTF-8 ? Mám Windows, takže programuji ve 1250. To zajišťuje ta funkce mb_internal_encoding() ? - set names('kodovani') - to kodovaní je UTF-8 (tj. cilove kodovani ? Nebo CP1250 (zdrojove). Asi UTF-8, že jo ? Sloupce v tabulce má v UTF-8, skripty vlastně po úpravě taky, tak set names('utf-8'). Je to správně ? Díky !!!!!! |
||
ShiraNai7 Profil |
#4 · Zasláno: 24. 6. 2008, 15:01:03 · Upravil/a: ShiraNai7
Terk
Všechny zmiňované věci musíš mít ve stejném kódování. Psal jsem že některé jsou asi nutné jen pro utf-8, jestli používáš cp1250, tak se musíš podle toho zařídit. Já mám taky windows, ale dělám v utf-8. Lepší editory s tím nemají problém. Dělám v PSPadu |
||
Terk Profil |
#5 · Zasláno: 24. 6. 2008, 15:05:38
Právě se snažím taky dělat v utf-8. Tj. databázi tak mám, skripty mám v 1250. Používám PhpEd.
Takže to nastavení na utf-8 musím provést už při psaní skriptů v editoru ? Nebo stačí to mb_internal_encoding() ? Díky (že furt prudim...) |
||
ShiraNai7 Profil |
#6 · Zasláno: 24. 6. 2008, 21:13:23
Nastavit se to musí přímo v editoru, aby byl ten soubor fyzicky v utf-8 kódování.
|
||
Terk Profil |
#7 · Zasláno: 25. 6. 2008, 09:33:39
ShiraNai7 Díky, chlape :-) !!!
|
||
Časová prodleva: 16 let
|
0