Autor | Zpráva | ||
---|---|---|---|
Artie Profil * |
#1 · Zasláno: 27. 10. 2009, 19:13:33
Ahoj,
jde nějak načíst soubor v libovolném kódování do utf8. Znám funkci iconv, ale jí se musí zadat původní kódování souboru. Pak jsem našel druhý parametr funkce file FILE_TEXT, ale ten funguje na novějším PHP než mám na serveru. děkuju za rady... |
||
AM_ Profil |
#2 · Zasláno: 27. 10. 2009, 19:28:42
Ahoj,
obecně je ten problém, že textový soubor nemá nikde uloženo, v jakém se nalézá kódování. Existují heuristické metody, které dle nalezených znakových kódů v souboru "odhadnou", o jaké kódování se jedná, jsou ale poměrně složité a nikdy nemohou být přesné (např. jak rozhodneš, zda jednobytový soubor se znakem 0xBE je slovenské ľ ve windows-1250, nebo české ž v iso-8859-2?) |
||
Artie Profil * |
#3 · Zasláno: 27. 10. 2009, 20:45:34
Aha, tak to je nepříjemné, jak by se tady situace dala řešit? Nyní se musí zobrazovat data z uploadnutých textových souborů od různých lidí.
|
||
Joker Profil |
#4 · Zasláno: 27. 10. 2009, 21:12:38 · Upravil/a: Joker
Artie:
První možnost je vnutit uživatelům nějakou znakovou sadu (prostě se řekne, že soubory se posílají v nějakém kódování a kdo to pošle jinak, bude to mít zobrazené špatně). Druhá možnost je nechat samotného uživatele určit, v jakém kódování chce soubor odeslat. Nevýhoda je, že uživatel musí být natolik znalý, aby to věděl. Třetí možnost je definovat nějakou množinu možných znakových sad a z nich potom vybírat analýzou textu, jak píše AM. Vcelku spolehlivě to funguje v případě, že máte dostatečně dlouhý text, nejlépe když se v něm z dané znakové sady používají jen písmena (ne různé symboly apod.) a víte, v jakém je jazyce. No a šlo by i kombinovat druhou a třetí možnost, kdy by se soubor automaticky překonvertoval z několika předpokládaných kódování, výsledek by se napsal uživateli a ten by vybral, který výstup je správný. |
||
AM_ Profil |
#5 · Zasláno: 27. 10. 2009, 21:17:10
Napadá mne ještě jedna možnost: textové soubory neuploadovat, ale nahrávat je skrz textarea ve webovém formuláři. Vzhledem k tomu, že stránka má definovanou znakovou sadu, prohlížeč ví, jak má text odeslat na server, zároveň přenos znakové sady při copy-paste textu mezi textovým editorem a browserem by měl zajistit OS.
|
||
Davex Profil |
#6 · Zasláno: 27. 10. 2009, 21:33:30 · Upravil/a: Davex
Řešení se jmenuje AutoCzech:
1. Vojtěcha Semeckého - ke stažení je ve webovém archivu 2. Davida Grudla 3. Radka Hulána 4. a nebo CharsetDetector Kamila Dudka |
||
Časová prodleva: 14 let
|
0