| Autor | Zpráva | ||
|---|---|---|---|
| Taps Profil |
#1 · Zasláno: 8. 4. 2014, 14:37:36
Zdravím, obdržel jsem soubor s kódováním CP852 (DOS) a potřebuji tento soubor převést do UTF-8. Bohužel se nejedná jen o jednorázovou činnost a potřeboval bych tuto operaci provádět na úrovni PHP. Zkoušel jsem funkci iconv, ale bohužel neúspěšně.
Můžete mi poradit co s tím ? Děkuji |
||
| Kcko Profil |
#2 · Zasláno: 8. 4. 2014, 15:28:56
Na ICQ jsem Ti psal jak to máš udělat #2 odkaz -- DGX funkce. Chjo.
|
||
| peta Profil |
http://cz2.php.net/manual/en/function.iconv.php
Ani jeden z examplu nefungoval? Pak je tam pod tim prispevek od Richie (7 years ago) <?php
setlocale(LC_CTYPE, 'POSIX');
echo iconv('UTF-8', 'ASCII//TRANSLIT', "Žluťoučký kůň\n");
// ?lu?ou?k? k??
setlocale(LC_CTYPE, 'cs_CZ');
echo iconv('UTF-8', 'ASCII//TRANSLIT', "Žluťoučký kůň\n");
// Zlutoucky kun
?>Pak je tam prispevek od gree setlocale(LC_CTYPE, 'cs_CZ.UTF-8'); Tohle jsem nekde vystoural u sebe setlocale(LC_ALL, 'czech');
echo iconv("utf-8", "us-ascii//TRANSLIT", $str);A taky ve faq je nejake pouziti iconv Nejčastější potíže s PHP (FAQ) |
||
| Virtus Profil |
Zdravím,
chtělo by to víc informací k problémům: Jak jsi zjistil že se jedná o kódování CP852 ? ( Mohlo dojít třeba k záměně s ISO 8859-2 ) iconv byl neúspěšný, to jako že vyhodil chybu nebo jako že znaky byli převedeny špatně? zkoušel jsi to takhle: iconv("CP852", "UTF-8//IGNORE", $text); ? O jaký soubor se jedná: je to pouze nějaký soubor *.txt nebo je to nějaký soubor z "doby kamenné" *.dbf atd. z jakého zdroje je soubor, může být problem třeba v uložení souboru little-endian nebo big-endian Kcko: Reaguju na ten odkaz, očividně se tam snaží otevřít DBF soubor (teda pokud sem klik na dobrej odkaz:D): tak tady je hned několik problému: 1) pokud DBF soubor obsahuje přídavný soubor s MEMO informacema, tak to jednoduše nerozkóduješ ani kdybys chtěl a soubor se musí číst po jednotlivích bitech, protože pecl extension dbase si s tím neporadí: viz http://stackoverflow.com/questions/1947348/how-to-read-foxpro-memo-with-php 2) čísla bývají většinou "zabaleny" a je pro jejich rozbalení potřeba použít php funkci unpack a tady už přesně záleží jestli se jedná o little nebo big endian |
||
| Kcko Profil |
#5 · Zasláno: 8. 4. 2014, 19:00:21
Virtus:
Měl jsem namysli http://phpfashion.com/autoczech-aneb-automaticka-detekce-kodovani |
||
| Taps Profil |
#6 · Zasláno: 8. 4. 2014, 21:22:03
Kcko
ta automaticka detekce nefungovala korektne. V komentarich pak bylo zmineno, ze pro cp852 by se funkce musela jeste upravit |
||
|
Časová prodleva: 12 let
|
|||
0