Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
Zdravím,
vím, že topiců o nastavení kódování je zde mnoho, ale prošel jsem snad všechny, vyzkoušel a pořád nic. Soubor .php je v kódování UTF-8 a poslední stav, který tam mám je toto: <?php header("Content-Type: text/plain; charset=utf-8"); ?> <meta http-equiv="Content-Type" content="text/plain; charset=utf-8" /> <?php $stream = fopen("test.txt", "w"); fwrite($stream, "žluťoučký kůň úpěl ďábelské ódy"); ?> zkoušel jsem s/bez headerem, s/bez metatagem ... nic nepomáhá. Když v prohlížeči načtu vytvořený TXT soubor, má nastavené kódování windows-1250. Kde může být ještě chyba? Když si vytvořený .TXT soubor, stáhnu a otevřu jej v PSPadu, znaky i kódování jsou správně - UTF-8. Jak je to možné? |
||
Alphard Profil |
#2 · Zasláno: 14. 4. 2012, 01:10:50
Jste si jist, že je soubor uložen v utf-8? Header i meta tag je k ničemu. Semtam se někde objeví doporučení použít funkci utf8_encode(), ale to by ani nemělo být nutné.
Mělo by fungovat prosté file_put_contents("data/dia_test.txt", "žluťoučký kůň úpěl ďábelské ódy"); |
||
Sylar Profil |
#3 · Zasláno: 14. 4. 2012, 11:39:22
Alphard:
měl by být, protože všechen kód píšu v UTF-8 a kódování v PSPadu neměním. Divné je mi také to, jak jsem psal, že když soubor otevřu přes prohlížeč, znaky jsou špatně (zobrazení -> znaková sada -> ukazuje win-1250), ale pokud jej otevřu v PSPadu, znaky jsou OK a kódování je utf-8. |
||
Darker Profil |
#4 · Zasláno: 14. 4. 2012, 11:46:32
Nemáš ten soubor online? Je dost možné že se ta hlavička ještě někde přepisuje (.htaccess) nebo je chybná. Hlavičky si můžeš zobrazit pomocí doplňku Firebug (FF), nástroje Dragonfly (Opera) nebo F12 (IE).
|
||
Sylar Profil |
#5 · Zasláno: 14. 4. 2012, 12:00:12
Darker:
zkusil jsem fci mb_detect_encoding() a i ta vyhodí UTF-8 <?php echo mb_detect_encoding("žluťoučký kůň úpěl ďábelské ódy"); file_put_contents("test.txt", "žluťoučký kůň úpěl ďábelské ódy"); ?> Přes firebug jsem na to koukal, ale o hlavičkách jsem tam nikde nic nenašel, možná špatně hledám. Obojí je online - php soubor a txt soubor |
||
Davex Profil |
Sylar:
Prohlížeč asi použije výchozí kódování, protože není nastavené v HTTP hlavičce a neumí ho rozpoznat. Zkus přidat do souboru .htaccess: <Files *.txt> AddDefaultCharset utf-8 </Files> |
||
Sylar Profil |
#7 · Zasláno: 14. 4. 2012, 12:30:33
Davex:
jako kouzlo :) ... díky moc |
||
Časová prodleva: 11 let
|
0