Názor k článku Napsat správně mezinárodní aplikaci v Qt nemusí být snadné od ajtak :P - A podle jakeho standardu ty funkce pro praci...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 12. 2010 3:04

    ajtak :P (neregistrovaný)

    A podle jakeho standardu ty funkce pro praci s terminalem ve Windows jsou?
    ... presne tak, zadneho. Panove z MS si je vycucali z prstu.

    Kazdopadne konzolovy vystup z Qt je lepsi delat pres Qt, nez se spolehat na funkce OS, ktere jsou z pohledu Qt nestandardni vsechny. Konkretne k tomu slouzi trida QTextStream, ktere se da predat stdout/stderr/po­pisovac souboru/etc. Kodovani se nastavuje pres setCodec().
    S Windows command line muzou byt problemy taky, protoze ve vychozim stavu neumi zobrazit unicode, ale jenom lokalni codepage (u nas napr. 1250). Je potreba si v ni nastavit font, ktery unicode zvladne (ne-obrazkovy).
    Viz: http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using

    Dalsi problem je, ze kompilator musi umet precist a spravne ulozit retezce ze zdrojaku. Pokud jich pouzivate vice (treba MSVC a GCC), muzou vzniknout problemy s kodovanim. MS kompilator predpoklada, ze delate v pribalenem IDE a vse je bud v UTF16 nebo v lokalni mutaci MS kodovani. U prenositelne aplikace tedy jakekoliv retezce s narodnimi znaky rozhodne nepatri do zdrojaku. Ty je lespi umistit do nejakeho jineho souboru, kde presne vite co se deje s jeho obsahem. Ve zdrojaku nechte ciste ASCII. Dost to zjednodussi lokalizaci programu a nestane se Vam, ze nekdo posle patch s rozbitymi retezci/kodovanim, na kterych si nasledne nektery kompilator vylame zuby :)

    Drobny Qt uvod: http://www.youtube.com/wat ch?v=lz9deRYwNFY

    PS: proc me to nechce vzit slovo ,,wat ch'' vcelku?