Autor | Zpráva | ||
---|---|---|---|
Igor Profil |
#1 · Zasláno: 7. 9. 2011, 18:29:49 · Upravil/a: Igor
Mám script, který mi načítal soubor (do vícerozměrného pole). Původně probíhalo načítání souboru v kódování CP1250, ale pak jsem ho uložil pod UTF-8 a vyskytl se mi problém. Totiž na prvním řádku, první sloupec se vyskytují tři "znaky" které nejsou vidět a mají ordinální hodnotu 239,187,191 a nevím kde se tam vzali a jak se jich zbavit
if ($options_file): $path = "./".$options_file; if (!file_exists($path)) die("<b>Chyba při otevírání souboru:</b> $path nenalezen."); $temp_arr = explode("\n",file_get_contents($path)); $options_count = count($temp_arr); foreach ($temp_arr as $line): // odstranit zalomení ord 13 (při print_r() není vidět!) if (mb_detect_encoding($line, 'UTF-8') === false) die("<b>Error:</b> Preparing options... Read \$line is not in UTF-8.</b> Make conversion of volby.txt");; $line = explode(",",$line); $last = count($line)-1; $line[$last] = trim($line[$last]); $options[0][] = $line; endforeach; if (count($options[0][0])==1) die("<b>Chyba při parsování souboru:</b> $path . Nesprávně nastavený oddělovač?"); if (count($options[0][count($options[0])-1])==1) die("<b>Chyba při parsování souboru:</b> $path . Prázdný řádek na konci souboru!"); ""; endif; |
||
Miloš Profil |
#2 · Zasláno: 7. 9. 2011, 18:38:07
Ty tři znaky budou BOM.
http://cs.wikipedia.org/wiki/BOM#BOM Soubor ulož v nějakém editoru, který umí ukládat UTF-8 bez BOMu, například PSPad. |
||
Igor Profil |
#3 · Zasláno: 7. 9. 2011, 18:49:33
|
||
Časová prodleva: 14 let
|
0