Autor | Zpráva | ||
---|---|---|---|
Musilda Profil |
#1 · Zasláno: 15. 6. 2016, 13:47:47
Mám problém s generováním XML souboru, kdy je řetězec, získaný z databáze, jednou v kódování UTF-8 a jednou ASCII.
Jedná se o výpis obsahu z WordPressu a myslím si, že se jedná o to, že uživatel vkládal obsah Word dokumentu do TinyMCE editoru. Ty znaky tomu nasvědčují. Mám nějakou možnost změnit ten řetězec, než jej přidám do XML? Samozřejmě, že jsem zkoušel iconv a další postupy, ale nikdy jsem nedosáhl toho, aby to pak Chrome zobrazil. |
||
_es Profil |
Musilda:
„Samozřejmě, že jsem zkoušel iconv a další postupy,“ No tak to „vyskúšaj“ nejako lepšie. Čo také si predstavuješ pod „kódovaním ASCII“? - Nastav konkrétne 8-bitové kódovanie. Výsledok má byť v akom kódovaní? Ťažko ti poradiť z takýchto neúplných utajovaných informácií. Konkrétny príklad textu a pod.?... |
||
Musilda Profil |
#3 · Zasláno: 15. 6. 2016, 17:25:57
Nerozumím, jak by ti pomohl příklad textu?
Výstup by měl být v UTF-8 a já potřebuji změnit řetězec, aby neobsahoval znaky, které nejsou v UTF-8. Chyba, která se zobrazuje je: error on line 7602 at column 1361: Input is not proper UTF-8, indicate encoding ! Bytes: 0xC3 0xA1 0x20 0x64 Nepřišel jsem na to, jak to vyřešit a to jsem opravdu zkoušel lecos. |
||
TomášK Profil |
#4 · Zasláno: 15. 6. 2016, 18:29:44
Řetězce obsahující pouze ASCII znaky mají shodné kódování v UTF-8 i v ASCII. Matně si vybavuju, že už jsem někde viděl, že vkládání z Wordu do TinyMCE a problémy s kódováním. Tipuju, že ten text bude kódovaný ve windows1250, zkusil bych na to pustit ten iconv. Připadně s parametry TRANSLIT nebo IGNORE by měly zahodit neplatné znaky, nedokážeš-li je převést korektně.
|
||
Davex Profil |
Musilda:
„0xC3 0xA1 0x20 0x64“ Vypadá to jako korektní UTF-8. 0xC3 0xA1 je á , 0x20 je mezera a 0x64 je d . Je podezřelé, že k té chybě dojde až po několika tisících řádcích. Není třeba problém s nedostatkem operační paměti nebo velikostí bufferu, že se to celé do něj nevejde a nějaký znak složený ze dvou bajtů se na jeho hranici rozdělí vejpůl?
|
||
_es Profil |
#6 · Zasláno: 15. 6. 2016, 23:04:30
Musilda:
„aby neobsahoval znaky, které nejsou v UTF-8.“ To sú aké konkrétne znaky, „ktoré nie sú v UTF-8“? UTF-8, respektíve znaková sada Unicode, obsahuje, zjednodušene, všetky znaky. Binárny zápis v UTF-8 však môže byť nesprávny (nekorektný, nevalidný, chybný a pod.) |
||
Časová prodleva: 9 let
|
0