zacinam s programovanim, chcem sa naucit Ccko... kupil som si knihu (v Cestine) a sucastou su aj jednoduche priklady v PASKALe, ak ich otvorim v hocijakom editore (aj v konzole), nezobrazuje sa spravne diakritika, iba haky-baky
skusal som nastavovat rozne kodovanie a jeden priklad sa uz zobrazuje spravne ale ostatne sa stale zobrazuju blbo aj ked nastavim take iste parametre (mod: UNIX (LF) kodovanie: UTF-8 )
prikladam tie priklady: DvaRadky.pas funguje spravne a Vypis.pas ukazuje blbosti

prilohy
Zrejme tie príklady nie sú v kódovaní UTF-8 ale v inom. Dosť často sa používalo najmä pod windows kódovanie 1250, skús nastaviť to alebo iné.
ee... nefunguje to a ani ziadne ine napr. ISO.8859-2, 8859-1..... ???
ani ziadne ine
ako zistim v com to bolo napisane, v akom kodovani ?
Áno. Vypis.pas je vytvorený ako Unicode, UTF-8. Ale čo v ňom malo byť, to sa skús opýtať autora ak to nie je náhodou domáca. Tú nalej.
~$ enca -L none Vypis.pas Universal transformation format 8 bits; UTF-8 ~$ file -bi Vypis.pas text/x-pascal; charset=utf-8 ~$ cat Vypis.pas program Vypis; begin writeln('U§ nejsme za ten¡ci!'); readln; end. ~$ enca -L none Vypis.pas Universal transformation format 8 bits; UTF-8 ~$ file -bi Vypis.pas text/x-pascal; charset=utf-8 ~$ cat Vypis.pas | iconv -f UTF-8 -t ISO-8859-1 program Vypis; begin writeln('U� nejsme za��te�n�ci!'); readln; end. ~$ od -c Vypis.pas 0000000 p r o g r a m V y p i s ; \n b 0000020 e g i n \n w r i t e l n ( 0000040 ' U 302 247 n e j s m e z a 302 237 0000060 302 240 t e 302 237 n 302 241 c i ! ' ) ; \n 0000100 r e a d l n ; \n e n d . \n 0000120 ~$ echo "'Už nejsme začátečníci\!');"|od -c 0000000 ' U 305 276 n e j s m e z a 304 215 0000020 303 241 t e 304 215 n 303 255 c i \ ! ' ) ; 0000040 \n 0000041 ~$ rm *.pasVšimni si rozdielne kódy pri diakritike v UTF-8 znakoch.Otazka je - co sa s tym da urobit ? ze vraj by to mohol byt este DOSovsky Pascal, stare kodovanie CP852
kniha je z roku 2012 napisana 2009 :-)
Dosový pascal to nemôže byť keďže to používa kombináciu 8bit a 16bit na zápis písmenka, tým sa prejavuje UTF-8. A ten v DOSe nebol. V dose sa použíValo Latin2 alebo kódovanie kamenických, obe kódovania mali 8bit na písmeno. Z roku 2012 alebo 2009 to tiež nie je, pozri na dátum tých zabalených súborov. Ten dátum je mladší jedného dňa, takže tie súbory museli byť vytvorené teraz prednedávnom. Ako a odkiaľ si to kopíroval? Textový súbor (*.pas) z pribaleného CD to nevyzerá byť. Nie je to náhodou skopírované z nejakej windows aplikácie ktorá zmršila diakritiku? To mi príjde najpravdepodobnejšie keďže tie súbory majú po rozbalení unixové zalamovanie riadkov, a nie dosovo windowsové.
Nemáš pravdu ROBO to trafil, stačí použiť:
iconv -f CP852 -t UTF-8 pas/Vypis.pas program Vypis; begin writeln('Už nejsme začátečníci!'); readln; end.a diakritika je READY.Predtým:
cat pas/Vypis.pas program Vypis; begin writeln('U� nejsme za��te�n�ci!'); readln; end.co ty na to, PleSaTy?
Iba toľko, že v tom sem nahranom ZIPe bol iný súbor ako na stránke kde boli k stiahnutiu príklady z tej knihy v archíve RAR. V tom Zipe bolo unixové zalamovanie riadkov, v RARe dosové. V Zipe boli znaky s diakritikou ako 16bit, v RARe ako 8bit.
~$ od -c Programovani_PUZ/Kapitola02/pas/Vypis.pas 0000000 p r o g r a m V y p i s ; \r \n 0000020 b e g i n \r \n w r i t e l 0000040 n ( ' U 247 n e j s m e z a 237 0000060 240 t e 237 n 241 c i ! ' ) ; \r \n 0000100 r e a d l n ; \r \n e n d . \r \n 0000120 ~$ iconv -f CP852 -t UTF-8 < Programovani_PUZ/Kapitola02/pas/Vypis.pas program Vypis; begin writeln('Už nejsme začátečníci!'); readln; end. ~$ iconv -f CP852 -t UTF-8 < Vypis.pas program Vypis; begin writeln('U┬ž nejsme za┬č┬áte┬čn┬íci!'); readln; end. ~$ cat Programovani_PUZ/Kapitola02/pas/Vypis.pas|tr -d '\r'|iconv -f ISO_8859-2 -t UTF-8 |od -c 0000000 p r o g r a m V y p i s ; \n b 0000020 e g i n \n w r i t e l n ( 0000040 ' U 302 247 n e j s m e z a 302 237 0000060 302 240 t e 302 237 n 304 204 c i ! ' ) ; \n 0000100 r e a d l n ; \n e n d . \n 0000120 ~$Chalan to omylom otvoril v editore ako 8859-2 a skonvertoval do UTF. Mal to otvoriť ako CP 852. Preto som sa pýtal na zdroj.A čo na to ty, odborník? Máme u nás voľné miesto, potrebujeme všeumelca. Nepošleš životopis?
jedna sa o tuto knihu: http://knihy.cpress.cz/programovani-pro-uplne-zacatecniky.html
priklady stiahnes tu: http://knihy.cpress.cz/?p=actions&action=download/file&value=files&id=72948
ja uz som s tymi subormi bastrguval takze teraz uz sa tvaria ako UTF-8 ale ked otestujem v linuxe tie povodne subory s toho linku prikazom file --mime-encoding tak vypise unknown-8bit
takze to predsa bude stary DOS charset
Viď moja odpoveď vyššie.
zahada vyriesena, dakujem vsetkym za rady a za ochotu :-)
Nieje zač.
GL
Ale je, robis svet lepsim :)
len pre uplnos...
vcera uz sa mi nechcelo zapinat velky pocitac tak dneska som to skonvertoval a to tak, ze vo Win - NotePad++ som si spravil makro a na cca 5 klikov som to potom previedol
vsetky supory .pas okrem uplne prveho (ten bol Win1250) boli OEM 852 a ostane .txt boli Win1250
vsetky som zjednotil na UTF-8 a uz sa vsetko zobrazuje spravne aj v Linuxe :-)