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: 10 let
|
0