Unicode v C a v batch scriptech?
Napsal: 13 úno 2011 12:38
Nazdar,
mám tu malý problém. Ve Windows,když : zkompiluju program v Céčku ,kterej má unicode znaky nebo zavolám batch script s Unicode,tak to dopadne nějak takhle:
Příliš žluťoučký kůň úpěl ďábelské ódy
|
V
P°ÝliÜ ×luŁouŔkř k¨˛ ˙pýl ´ßbelskÚ ˇdy
V Linuxu žádný z těchto problémů nepociťuji,takže je zase vidět rozdíl mezi "plnohodnotně českými" Windowsy a "pouze přeloženými" Linuxy.
Zkoušel jsem spustit cmd jako cmd /U (prý to má zajistit podporu Unicode) a ukládat zdrojové soubory ve všech možných kódováních(ANSI,Unicode,Big Endian, UTF-8) , ale pokaždé to vyšlo stejně.Nevíte,jak by to šlo vyřešit?
Jo,ještě mám jeden problem s Unicode:
existuje v Céčku nějaká strktura,která by umožňovala Unicode jako jeden char? když totiž napíšu:
vyjde mi délka jako 16 místo osmi. Vím, čím to je a proto se ptám jestli není nějaká struktura,která by mohla určovat pro jeden znak jedno místo ( když potom napíšu printf ("%c",str[5]) , vypíše to otazníček namísto písmena) ,takže bych mohl přistupovat k jednotlivým znakům.
Jestli někdo aspoň trochu pochopil, co to tady mektám , ať prosím odepíše
mám tu malý problém. Ve Windows,když : zkompiluju program v Céčku ,kterej má unicode znaky nebo zavolám batch script s Unicode,tak to dopadne nějak takhle:
Příliš žluťoučký kůň úpěl ďábelské ódy
|
V
P°ÝliÜ ×luŁouŔkř k¨˛ ˙pýl ´ßbelskÚ ˇdy
V Linuxu žádný z těchto problémů nepociťuji,takže je zase vidět rozdíl mezi "plnohodnotně českými" Windowsy a "pouze přeloženými" Linuxy.
Zkoušel jsem spustit cmd jako cmd /U (prý to má zajistit podporu Unicode) a ukládat zdrojové soubory ve všech možných kódováních(ANSI,Unicode,Big Endian, UTF-8) , ale pokaždé to vyšlo stejně.Nevíte,jak by to šlo vyřešit?
Jo,ještě mám jeden problem s Unicode:
existuje v Céčku nějaká strktura,která by umožňovala Unicode jako jeden char? když totiž napíšu:
Kód: Vybrat vše
...
char str[]=ěščřžýáí;
printf ("%d",strlen(str));
vyjde mi délka jako 16 místo osmi. Vím, čím to je a proto se ptám jestli není nějaká struktura,která by mohla určovat pro jeden znak jedno místo ( když potom napíšu printf ("%c",str[5]) , vypíše to otazníček namísto písmena) ,takže bych mohl přistupovat k jednotlivým znakům.
Jestli někdo aspoň trochu pochopil, co to tady mektám , ať prosím odepíše
