Название: Кириллица в консоли windows Отправлено: arial от Июль 30, 2009, 14:48 Второй день бъюсь с локализацией сообщений в консоли windows.
Локализованный текст выводится кракозябрами. Облазил весь форум - ничего не помогает. Помогите найти ошибку. Пишу в Qt Creator 1.2.1: ConsoleTest.pro (ANSI): Код: QT -= gui main.cpp (ANSI): Код
myapp_ru_RU.ts (UTF-8): Код
Название: Re: Кириллица в консоли windows Отправлено: Winstrol от Июль 30, 2009, 14:54 Второй день бъюсь с локализацией сообщений в консоли windows. В консоли ввести chcp 1251 и поменять шрифт на Lucida Console.Название: Re: Кириллица в консоли windows Отправлено: lit-uriy от Июль 30, 2009, 15:04 >>В консоли ввести chcp 1251 и поменять шрифт на Lucida Console.
А с каких пор в консоли русского виндовоза кодирвка виндового ГУЯ, вместо IBM866? Название: Re: Кириллица в консоли windows Отправлено: arial от Июль 30, 2009, 15:10 Код: QTextCodec::setCodecForCStrings(QTextCodec::codecForName("IBM866")); Название: Re: Кириллица в консоли windows Отправлено: arial от Июль 30, 2009, 15:30 Поменял
Код на Код и снова появились кракозябры. Почему так? ??? Название: Re: Кириллица в консоли windows Отправлено: Winstrol от Июль 30, 2009, 15:33 >>В консоли ввести chcp 1251 и поменять шрифт на Lucida Console. Если программа написана человеком, который русский не знает, выбросить и не пользоваться? Почему он должен заботиться о русской консоли? А с каких пор в консоли русского виндовоза кодирвка виндового ГУЯ, вместо IBM866? Название: Re: Кириллица в консоли windows Отправлено: kuzulis от Июль 30, 2009, 15:51 я делал так:
Код: .... Название: Re: Кириллица в консоли windows Отправлено: lit-uriy от Июль 30, 2009, 15:55 >>Почему он должен заботиться о русской консоли?
Потому-что "Кириллица в консоли windows" и "В консоли ввести chcp 1251..." соответсвуют скорее русской консоли в виндовозе. (конечно, консоль может быть и украинская, но она тоже не будет CP-1251) Название: Re: Кириллица в консоли windows Отправлено: Winstrol от Июль 30, 2009, 16:41 >>Почему он должен заботиться о русской консоли? Это потрясающе, что вы знаете, какая кодировка в украинской консоли. Только разработчикам консольных клиентов, допустим, для систем контроля версий на это до лампочки. Что делать прикажете делать? Комментарии к ревизиям на английском писать?Потому-что "Кириллица в консоли windows" и "В консоли ввести chcp 1251..." соответсвуют скорее русской консоли в виндовозе. (конечно, консоль может быть и украинская, но она тоже не будет CP-1251) Название: Re: Кириллица в консоли windows Отправлено: denka от Июль 30, 2009, 16:58 To Winstrol
Не пойму к чему эти холивары. Автор темы спросил совета, вы дали не правильный(на счет кодировки), Юрий вас поправил и в результате вы устроили диспут на счет должна ли вобще программа работающая в консоли выводит русские буквы. Честно не вижу связи с темой топика. Может мы еще обсудим а стоит ли вобще локализировать ПО? Название: Re: Кириллица в консоли windows Отправлено: Winstrol от Июль 30, 2009, 20:42 To Winstrol Я как раз дал работающий ответ, а вот работают ли всегда хаки вродеНе пойму к чему эти холивары. Автор темы спросил совета, вы дали не правильный(на счет кодировки), QTextCodec::setCodecForLocale(QTextCodec::codecForName("IBM 866")); не уверен. В недрах Qt или драйвера БД запросто может оказаться вызов fromLocal8Bit ожидающий CP1251. Название: Re: Кириллица в консоли windows Отправлено: lit-uriy от Июль 30, 2009, 22:09 кодек для локали жёстко задавать действительно не надо.
Т.к. всё пишется на Qt, лучше использовать текстовый поток вместо std::out И установить для данного потока соответствующий кодек. Т.е.: Код
|