Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 12. 9. 2006, 12:56:58
Ná stránce kódované v UTF-8 mám formulář, který pro zpracování používá jiný php soubor.
Databáze je také kódovaná v UTF-8, ale ukládá nesrozumitelné znaky. Pídil jsem se po příčině a a nechal jsem si zobrazit obsah formuláře před uložením. Zjistil jsem, že už z formuláře lezou zmršené znaky. Díval jsem se na konfiguraci PHP serveru a u položky default_charset je nastaveno no value . Jak zařídím, abych z formuláře dostal znaky ve srozumitelné podobě? |
||
MilanJ Profil |
#2 · Zasláno: 12. 9. 2006, 13:26:02
Znaky vypadnuvší z formuláře vypadají následovně:
místo "Dětské čtyřkolky" se zobrazí DÄ›tskĂ© ÄŤtyĹ™kolky |
||
MilanJ Profil |
#3 · Zasláno: 12. 9. 2006, 13:56:32
Nikdo se s tím nesetkal?
|
||
YoSarin Profil |
#4 · Zasláno: 12. 9. 2006, 14:32:21
Ten zpracovávající soubor je taky v UTF-8? Je kódování uvedené pouze v hlavičce stránky, nebo je i soubor uložený v UTF-8?
|
||
MilanJ Profil |
#5 · Zasláno: 12. 9. 2006, 14:42:27
Soubor, který to zpracovává, je čisté PHP, nic víc....tím pádem kódování v hlavičce uvedeno není.
Když se podívám na zdrojový soubor formuláře zobrazeného na stránce, je v UTF-8, formulář pak následně zpracuje soubor uloz.php, a to už je jen čisté PHP. A právě tady bude asi problém...když si nechám vypsat obsah polí, jsou už bez diakritiky. |
||
YoSarin Profil |
#6 · Zasláno: 12. 9. 2006, 14:50:59 · Upravil/a: YoSarin
no, jak já tomu rozumím, tak kódování je dvoje:
1) kódovaní uvedené v hlavičce HTML dokumentu - udává jak má prohlížeš nakládat s textem 2) kódování, ve kterém je soubor uložen na disku - udává jak by se se souborem mělo správně nakládat pokud se tyhle dvě kódování neshodují, tak z toho lezou divný znaky... Zkus oba dva ty soubory (i ten kde je jen php) přeuložit jako UTF-8 (třeba v tsWeEditoru) Yo'Sarin P.s.: ten pohled je hodně povrchní, ale snad správnej |
||
MilanJ Profil |
#7 · Zasláno: 12. 9. 2006, 16:48:33
Já s tím nikdy problémy neměl, až teď...je to vlastně poprvé, co používám UTF-8.
V databázi to nebude, tam se dostanou už zmršený data. Stránka formuláře je vložená do hlavní stránky, která je v UTF-8. A jak už jsem zmínil, když ji dostane soubor zpracovávající formulář (uloz.php), zkusil jsem v něm udělat výstup a data byly zprasený. |
||
gaminn Profil * |
#8 · Zasláno: 12. 9. 2006, 17:09:25
Dětské čtyřkolky
Znaky odeslané jako UTF-8 jsou zobrazeny v non multi-byte kódování (windows-1250, iso...). Ten text je stále v UTF-8, ale ty se ho snažíš zobrazovat jako (např.) windows-1250. |
||
djlj Profil |
#9 · Zasláno: 12. 9. 2006, 17:12:24
MilanJ
Přečti si ještě jednou pozorně, co psal YoSarin a ulož soubor v kódování utf-8. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0