Autor Zpráva
mad_mazel
Profil *
Ahoj,

mám dotaz, který sem možná úplně nepatří, ale vhodnější sekci jsem tu nenašel.
Dotaz zní takto: obsahují textové soubory (nebo třeba CSV soubory) nějakou "hlavičku", v které by bylo něco uloženo, např. znaková sada použitá v daném souboru?
juriad
Profil
Ne. Kódování textového souboru je určeno externě (uživatel nastaví) nebo hádáním podle četností obsažených znaků.
Trejpa
Profil
mad_mazel:
Různé soubory mohou mít od tvůrců jejich specifikace jedno konkrétní kódování určeno de jure, takže nemusí nic poznávat, mají to dané.

Další možností rozpoznání kódování jsou identifikační Byty (BOM) u kódování UTF (8, 16BE, 16LE, 32), které se mohou vyskytnout pouze na začátku souboru a cílová zařízení s nimi obvykle počítají. Jiná kódování se takto ale jednoduše určit nedají.
mad_mazel
Profil *
Aha, díky, toho jsem se obával. Importuju totiž soubor ve formátu TXT a databáze ho chce v UTF8. Jenže já nevím, v jakém kódování je text uložen, takže ho nemám jak převést do UTF8. Takže jediná možnost předpokládám je - zeptat se toho, kdo ten TXT soubor vytvářel.

Ještě jednou díky.
Trejpa
Profil
mad_mazel:
Určit kódování můžeš i sám.

Pokud soubor obsahuje třeba česká slova, tak ho můžeš otevřít ve webovém prohlížeči, ten obvykle kódování dost často pozná sám (v menu prohlížeče Zobrazit > Kódování || Zobrazení > Znaková sada). Když to nepozná, můžeš to metodou pokus-omyl vyzkoušet měnit.

Také textové editory, třeba MS Word a LibreOffice Writer, když to samy nepoznají, tak ti dají na výběr s náhledem, jak bude výsledek vypadat. Writer, co si pamatuji, obsahoval i poměrně obstarožní znakové sady z DOSu.
mad_mazel
Profil *
Trejpa:
Prohlížeč mi hlásí windows-1252, ale přesto se tam zobrazují paznaky.
Když použiju linuxí utilitu file, tak ta mi hlásí charset=unknown-8bit
Zkusil jsem zkonvertování z pár běžných kodování, ale pokaždé to zobrazuje v daných místech paznaky.
Je to tedy jakési podivuhodné, radši se zeptám autora, snad mi to bude schopen říci.
juriad
Profil
Můžeš ten soubor prohnat utilitou enca, který slouží k odhadu kódování. A nebo ho zobraz ve webovém prohlížeči a měň kódování (v nabídce prohlížeče) dokud se nezačne zobrazovat správně.
_es
Profil
mad_mazel:
Prohlížeč mi hlásí windows-1252, ale přesto se tam zobrazují paznaky.
Nemá to byť Windows-1250? To je určené na češtinu a slovenčinu.
mad_mazel
Profil *
juriad:
enca píše Unrecognized encoding

Podle mě se tam ty paznaky dostávají nějak omylem. už jsem zkusil x možností, ale žádný tool/editor/whatever kódování nerozpoznal.
Bude to tedy asi nějaký bastl / nějakým způsobem zprasený výstup do toho souboru.
_es
Profil
[#9] mad_mazel:
Tá utilita ale asi nebude nejaký zázračný veštiaci nástroj. Ak ide o nejaké 8bitové kódovanie, tak sa nemá veľmi čoho „chytiť“. Najistejšie bude manuálne meniť kódovanie a zisťovať, kedy sa text zobrazí správne.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: