Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kodová stránka (code page) a ako to vlastne funguje?

Zdravím všetkých,

mám niekoľko txt súborov z mne neznámych zdrojov, teda neviem, z akých programov pochádzajú. Keď ich však otvorím vo Windows XP, ktorý mám nastavený na codepage 1250 - Slovak - nezobrazuje mi všetky znaky správne.
Pokúsil som sa preto otvoriť tieto súbory v príkazovom riadku pomocou príkazu EDIT. Tam tieto súbory otvorí a rozpozná znaky správne.
Tak som sa niekde dočítal, že príkazový riadok by mal mať codepage 437. Preto som sa pokúsil v Ultraedit-e otvoriť tieto .txt súbory s tým, že som ich označil ako codepage 437 a očakával som, že znaky interperetuje správne. To sa však nestalo.
Jediné čo mi funguje je prevod OEM do ANSI pomocou Ultraeditu.

Dosť ma to celé metie a neviem, akú codepage použiť, aby som videl tieto znaky interpretované správne, ak ich otváram pomocou Ulraeditu.

Mohol by mi niekto vysvetliť, kde je problém? Ako to vlastne funguje?

Vopred ďakujem.

Předmět Autor Datum
Znaky su ulozene ako cisla. Ak je jeden byte na znak, mas len moznosti 0-255, to nestaci na vsetky z…
MM.. 04.09.2008 14:53
MM..
V DOSu se pro střední Evropu používá kódová stránka 852. Takže zkus ji. mode con codepage prepare=(…
host 04.09.2008 14:53
host
Ano, pomocou toho príkazu som zistil, že mám v CMD codepage 852. Tak som skúsil otvoriť súbor pomoco…
keno 04.09.2008 15:07
keno
To je vec toho programu, musis si tam zmenit font (pismo) na taky ktory ma aj znaky pre codepage 852…
MM.. 04.09.2008 15:19
MM..
Písmo Terminal, ktoré používa aj príkazový riadok zobrazuje dané znaky správne. To však rieši len ča…
keno 04.09.2008 22:58
keno
Ano ak to chces pouzit inde kde je nastavena ina codepage tak to musis skonvertovat. Mozes skusit n…
MM.. 04.09.2008 23:02
MM..
Možno sa zle pýtam, ale ako zistím v ktorej code page to bolo uložené? Dnes som zistil, že netreba m…
keno 04.09.2008 23:35
keno
Tak ze nepouzijes chaoticky (podla toho co pises) ultraedit, ale nieco co funguje normalne (napr. aj…
MM.. 04.09.2008 23:52
MM..
Nezjistis to, musis to vedet. Zjistit jsi to schopny pouze v pripade unicode kodovani (UTF-8, UTF-16…
Jan Fiala 05.09.2008 07:09
Jan Fiala
Ne, musle bys zmenit rez (script) pisma - TTF font obsahuje v sobe vic kodovych stranek.
Jan Fiala 04.09.2008 17:19
Jan Fiala
Jaký mušle? :-p
host 05.09.2008 13:10
host
To my dislektici a disgrafici delavame. Vypadavaji nam pismenka, prehazuji se nam ve slovech... Ty… poslední
Jan Fiala 05.09.2008 14:03
Jan Fiala
v pspadu si můžeš vybrat v jakém kódování to chceš otevřít. od emerického ultraeditu nečekej, že se…
lední brtník 04.09.2008 15:36
lední brtník
A kde presne si to môžem vybrať? Skúšam otvoriť, ale takú možnosť ako Ultraedit pri otváraní nemám..…
keno 04.09.2008 15:42
keno
Pri otevirani ne, musis zmenit pismo pro okno editoru. Kde to ma UE to nevim, pouzivam jiny editor.
Jan Fiala 04.09.2008 17:20
Jan Fiala

Znaky su ulozene ako cisla. Ak je jeden byte na znak, mas len moznosti 0-255, to nestaci na vsetky znaky vsetkych jazykov, tak sa pouzivali rozne prevodne tabulky (tabulka cislo->znak). To je codepage. Kedze to nebolo od zaciatku standarizovane tak existovalo u nas viac roznych (u nas okrem standardizovanej codepage 852 bolo aj kodovanie "kamenickych" a co ja viem ake este). Potom tusim microsoft si urobil vlastne tabulky (pre CR/SR je Windows 1250), takze sa bordel len zvacsil.

437 je anglicka codepage a nie slovenska. Aku codepage mas v prikazovom riadku zavisi od nastavenia Win, zistit si to mozes pomocou prikazu mode con napises to do konzoly a vypise ti ze aku mas nastavenu codepage, pravdepodobne tam mas codepage 852 takze tu pouzi pre ten txt subor.

Vseobecne treba len skusat (852, Windows 1250, ...) alebo si dat do google codepage a najst si tabulky a uvazovat podla toho ake znaky sa tam zobrazuju zle ze ktora to bude.

Ano, pomocou toho príkazu som zistil, že mám v CMD codepage 852.
Tak som skúsil otvoriť súbor pomocou Ultraedit-u, nastavil som pri otváraní codepage 852 a dostal som hlášku:

In order to view the document correctly, you may have to change your font and/or script settings in the Font Dialog.

Anglicky síce ako tak rozumiem, ale čo mi tých chce povedať, to netuším... zmeniť font?..

To je vec toho programu, musis si tam zmenit font (pismo) na taky ktory ma aj znaky pre codepage 852 (to pismo ktore tam mas asi neobsahuje vsetky znaky). Skus to najprv len odklepnut, ak to nezobrazi spravne znaky tak skus zmenit font na nejaky stredoeuropsky (CE) alebo univerzalny, ak to ani tak nepojde tak nepouzivaj ten tvoj editor ale pouzivaj nieco normalne (napr. kludne aj PsPad od JaFi-ho)

Písmo Terminal, ktoré používa aj príkazový riadok zobrazuje dané znaky správne.
To však rieši len časť problému, lebo potrebujem tento súbor nahrať do systému, ktorý tieto znaky správne nevie interpretovať.
Zrejme teda musím tento text nejako skonvertovať, a uložiť v codepage systému, kam tieto dáta putujú, aby ich vedel správne prevzať.

Tak ze nepouzijes chaoticky (podla toho co pises) ultraedit, ale nieco co funguje normalne (napr. aj viewer (F3) z totalcommanera alebo mozno pspad alebo si ten txt subor otvor v internet prehliadaci (menu subor-otvorit subor) a nastavuj si rozne codepage v prehliadaci - napr. vo FF v menu view-character encoding). U spravneho kodovania to bude spravne zobrazene.

Zpět do poradny Odpovědět na původní otázku Nahoru