Portál AbcLinuxu, 10. května 2025 08:58

Dotaz: Kódování UTF-8 v HTML/PHP

Shteffi avatar 17.3.2006 12:28 Shteffi | skóre: 21 | blog: Shteffi
Kódování UTF-8 v HTML/PHP
Přečteno: 1889×
Odpovědět | Admin
Zdravim. Řikal sem si, že konečně vyzkouším psát web pod linuxem a rovnou v UTF-8. Ale narazil jsem na malej zádrhel. i když definuju v hlavičce kódování viz. :
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
tak stejně se mi prohlížeč nepřepne na avizované kódování UTF-8. zkoušel jsem to pod linuxem ve firefoxu, konqueroru a i pod widlema ve firefoxu i v Exploreru, vždy s výchozím nastavením kódování a pořád se to snaží zobrazovat windows-1250.

někde tady v diskuzi jsme se dočetl, že by na to mohl mít vliv parametr
AddDefaultCharset  off
v nastavení apache, který vypne aby server vnucoval defaultní kódování na serveru.

ale zjistil jsem že tenhle parametr vypnutý mám.

Tak by mě zajímalo, v čem dělám něco špatně..

PS: www server je Debian sarge Apache2

Díky za každou dobře míněnou radu.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.3.2006 12:32 hm
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podívejte se, co chodí v HTTP hlavičkách (např. Ethereal-em).
Shteffi avatar 17.3.2006 13:43 Shteffi | skóre: 21 | blog: Shteffi
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
v hlavičce je toto:
HTTP/1.1 200 OK

Date: Fri, 17 Mar 2006 12:38:39 GMT

Server: Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-16 mod_perl/2.0.1 Perl/v5.8.7

X-Powered-By: PHP/4.3.10-16

Set-Cookie: user=

Set-Cookie: cpass=

Content-Length: 985

Keep-Alive: timeout=15, max=100

Connection: Keep-Alive

Content-Type: text/html; charset=windows-1250
takže to kódování prohlížeči vnucuje..

víte co s tim, když ten apache to má podle všeho vypnutý? Ale třeba je ještě někde něco jinde... co já vim... :(
17.3.2006 12:50 Emil Paskal | blog: Paskalovo
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych poslat ještě http hlavičku pomocí php příkazu Header:
Header("Content-Type: text/html; Charset=utf-8");
17.3.2006 15:17 Anonym
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Ověřte si, zda prohlížeč nevnucuje WWW serveru, že chce dostat Windows-1250 (zda v požadavku není něco jako "Accept-Charset: Windows-1250") nebo zda alespoň tuto znakovou sadu nepreferuje.

Zdravím,

Anonym :-)
Shteffi avatar 17.3.2006 19:29 Shteffi | skóre: 21 | blog: Shteffi
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
no to doufam nedělá.. potřebuju si řídit já jaký se nastaví kódování. kdyby měl prohlížeč takovej vliv, tak nevim nevim jak by to na webu vypadalo..
17.3.2006 14:31 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud budete používat pouze unicode a je to pouze váš tak bych se nebál nastavit

AddDefaultCharset UTF-8

Taky je potom dobré skontrolovat pokud používáte PHP co je v konfiguráku PHP a pod.....
17.3.2006 14:36 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Jinak prošel jste si i další příspěvky o AddDefaultCharset ?
Shteffi avatar 17.3.2006 19:28 Shteffi | skóre: 21 | blog: Shteffi
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
To bohužel nechci, protože i když je server pouze náš, tak tu mam docela dost věcí, který jsou v kódování windows-1250

bohužel potřebuju aby se kódování řídilo právě meta hlavičkou v dokumentu.

Na konfigurák PHP se podívám.
18.3.2006 10:38 Emil Paskal | blog: Paskalovo
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Můžete pomocí CharsetDefault v .htaccess změnit kódování jen v konkrétním adresáři.
Shteffi avatar 20.3.2006 07:42 Shteffi | skóre: 21 | blog: Shteffi
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problém byl v konfiguráku PHP, kde bylo nastaveno aby se vnucovalo výchozí kódování windows-1250

Jenom je mi divný, když je to linux (debian sarge) tak proč je tam výchozí nastavení tohle kódování...

no ale hlavně že jsem to už vyřešil..

Díky všem za radu
10.3.2008 22:30 Fero Peterko | skóre: 4
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Děkuji, měl jsem úplně stejný problém, neustále jsem si lámal hlavu nad tím. V případě, že jsem si zobrazil zdrojový kód (např. v Opeře), obsahoval chybné znaky, které se velmi podobali UTF-8. Změna nastavení v Apache AddDefaultCharset Off naprosto neměla efekt. Nakonec také stačilo zakomentovat řádek v php.ini default_charset = "utf-8" - což přesně vypovídalo o "rozsypaném čaji".
11.5.2008 11:18 Ondra B.
Rozbalit Rozbalit vše Re: Kódování UTF-8 v HTML/PHP
Díky moc! Díky vaší diskusi se mi podařilo odstranit úplně stejný problém, který jsem nemohl rozlousknout.

měl jsem stránku kodovanou v UTF-8.. pokud jsem ji uložil jako .html, tak se vše zobrazovalo správně. pokud jsem však tu stejnou stránku uložil jako .php, tak po otevření se některé znaky zobrazovaly totálně špatně. PHP server totiž na svém výstupu stránku zkoušel nějak překódovat či co.

po zakomentování řádku s default_charset v php.ini uz vse funguje OK a prohlizec dostane stranku ve spravnem kodovani. Dik.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.