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.
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.
V DOSu se pro střední Evropu používá kódová stránka 852. Takže zkus ji.
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ť.
Ano ak to chces pouzit inde kde je nastavena ina codepage tak to musis skonvertovat.
Mozes skusit napr. cp-converter, neskusal som len som to nasiel googlom.
Možno sa zle pýtam, ale ako zistím v ktorej code page to bolo uložené?
Dnes som zistil, že netreba meniť codepage, stačí zmeniť font...
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.
Nezjistis to, musis to vedet. Zjistit jsi to schopny pouze v pripade unicode kodovani (UTF-8, UTF-16).
Obycejne soubory zadnou informaci o tom, ve ktere kodove strance byly ulozeny neobsahuji. Pak jedine to poznat, podle znaku, ktere soubor obsahuje.
Ne, musle bys zmenit rez (script) pisma - TTF font obsahuje v sobe vic kodovych stranek.
Jaký mušle?
To my dislektici a disgrafici delavame. Vypadavaji nam pismenka, prehazuji se nam ve slovech...
Ty si změň mušle, ostatní pochopí
v pspadu si můžeš vybrat v jakém kódování to chceš otevřít.
od emerického ultraeditu nečekej, že se bude specializovat na několik verzí našeho národního kódování.
A kde presne si to môžem vybrať? Skúšam otvoriť, ale takú možnosť ako Ultraedit pri otváraní nemám....
Pri otevirani ne, musis zmenit pismo pro okno editoru. Kde to ma UE to nevim, pouzivam jiny editor.