Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: juvf от Октябрь 09, 2020, 08:43



Название: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 08:43
QtC из коробки. Win7. Вывод компилятора, всякие ворнинги и ошибки, на английском. Но какие-то кракозябры попадаются. Как это вылечить?


Название: Re: кракозябры в QtCreator
Отправлено: sergek от Октябрь 09, 2020, 09:26
Никак.


Название: Re: кракозябры в QtCreator
Отправлено: kambala от Октябрь 09, 2020, 10:30
Никак.
да :( https://bugreports.qt.io/browse/QTCREATORBUG-316


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 10:44
Да это какой-то зашквар, а не IDE.
Цитировать
Никак
Неужели весь мир программирует в QtC и все сидят с кракозябрами и всем пох.... и при этом вокруг всех уверяют - "Эта самая лучшая IDE!!!". Параллельно пишу софт в других IDE - ни когда такого не было. Бывало, Eclipse вывод давал кракозябрами - так это в настройках правиться.


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Октябрь 09, 2020, 10:47
Цитировать
Неужели весь мир программирует в QtC и все сидят с кракозябрами и всем пох

А все работают с EN-US тулчейнами, никто не ставит "русскую" вижуал студию, это моветон.

PS: Если используется qmake && MSVC, то в QtC в настройках комплекта есть галочка "force UTF-8" (или как то так), вот ее и надо выбрать.


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Октябрь 09, 2020, 10:51
Параллельно пишу софт в других IDE - ни когда такого не было.

Пример IDE и используемых (русско-локализованных) тулчейнов в студию. А если что не нравится -
напиши сам, или используй другие IDE, зачем тебе QtC?

PS: Если это не пофиксили - значит на это была причина? Не правда ли?
Это проблема студийного компилера, а не QtC, если на то пошло, и ей уже тыщщу лет.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 10:59
Пример IDE и используемых тулчейнов в студию.
Зачем? Это решит проблему?


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 11:20
никто не ставит "русскую" вижуал студию, это моветон.
что такое вижуал студия (в контексте этой темы)?

Цитировать
в QtC в настройках комплекта есть галочка "force UTF-8"
не помогло.

Цитировать
А все работают с EN-US тулчейнами
Ещё раз про проблему..... пришел в офис, стоит коробка, на ней  написано "QtCreator". Распаковал, нажал кнопку "Собрать", пошли кракозябры.

я не ставил ни каких тулчейнов, ни русских, ни EN-US. В коробке был мингв. я не залезал в настройки QtC и не ставил галочки "сделать мне перевод", я не выбирал ру-тулчейны, я не настраивал кансоль QtC на какую-то локаль и/или на какую-то кодировку..... Коробочная версия. Нажал "Собрать" - пошли кракозябры..... как это решить - ответ "НИКАК"!

ps
Цитировать
Это проблема студийного компилера, а не QtC
Если QtC не умеет работать с локалями - зачем упаковывать в QtC ру-тулчейны, зачем делать локализацию? Если QtC сделали локализацию и она кривая - нах эта локализация? Не умеешь - не делай.


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 12:08
Да это какой-то зашквар, а не IDE.
Цитировать
Никак
Неужели весь мир программирует в QtC и все сидят с кракозябрами и всем пох.... и при этом вокруг всех уверяют - "Эта самая лучшая IDE!!!". Параллельно пишу софт в других IDE - ни когда такого не было. Бывало, Eclipse вывод давал кракозябрами - так это в настройках правиться.

Дело не в IDE а в венде - в венде ДВЕ кодировки - в самой венде cp1251, в консоли cp866. AFAIK, винапишной функции которая бы возвращала кодировку консоли тупо нет. Вот креатор и предполагает что вывод в cp1251 потому что это единственное, что ему говорит венда.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 12:36
Дело не в IDE а в венде - в венде ДВЕ кодировки - в самой венде cp1251, в консоли cp866. AFAIK, винапишной функции которая бы возвращала кодировку консоли тупо нет. Вот креатор и предполагает что вывод в cp1251 потому что это единственное, что ему говорит венда.
Если IDE не знает какая кодировка, пусть спросит у пользователя. Уже обезьян научил программировать, а блокнот научили распознавать кодировку (notepad++) - а тут прям беда....
ну да лано.... имеем что имеем...

тулчен не тот.... какойто вижуал студио русский.... кодировку креатор не угадал...... смотрим вывод

14:18:47: Выполняются этапы для проекта - это выхлоп идэ, вроде как справилась с кодировкой

mingw32-make[1]: Entering directory - это выхлоп make, т.е. тулчейна. ru-локали не вижу

widgets\joystick.cpp:47:58: warning: unused parameter 'text' [-Wunused-parameter] - это выхлоп g++, т.е. тулчейна

ЌҐ г¤ Ґвбп ­ ©вЁ C:\work\workspace\Qt\canPro\release\moc_predefs.h - вот это чей выхлоп? тулчейна? тулчейн в коробке лежал полулокализованный чтоли? Или это выхлоп ИДЭ?


проблема не в том, что я хочу русский..... проблема в том, я хочу прочитать, мне нужен любой читаемый язык.... хоть ру, хоть ен, хоть китайский.... Выводишь в ру - покажи мне в ру, не умеешь в ру, покажи в ен. Кракозябры зачем? Как это решить - НИКАК!


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 12:39
Как это решить - НИКАК!


поставить английскую студию. ошибки компилятора вы тоже на русском собираетесь искать?


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 12:41
На самом деле там достаточно удалить папочку ru в студии, я щаз не помню где и какую


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 12:42
ну или задать кодировку https://stackoverflow.com/a/42066721/295518


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 12:50
На самом деле там достаточно удалить папочку ru в студии, я щаз не помню где и какую
что такое "студия"?


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 12:52
Settings->Kits->Environment: Force UTF-8 MSVC compiler output не оно?


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 13:04
Settings->Kits->Environment: Force UTF-8 MSVC compiler output не оно?
не помогает, я уже писал


Название: Re: кракозябры в QtCreator
Отправлено: kambala от Октябрь 09, 2020, 13:22
Settings->Kits->Environment: Force UTF-8 MSVC compiler output не оно?
для студии это фиксит выхлоп компилятора, но ломает вывод линкера (без галочки — наоборот)


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 13:54
https://stackoverflow.com/a/44810215 ?


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Октябрь 09, 2020, 13:57
У него мингв && маке ))

Но там думаю тоже, удалить файлик локализации надо ))

Или локаль en_US.UTF-8 (или С) задать через LC_ALL.


Название: Re: кракозябры в QtCreator
Отправлено: sergek от Октябрь 09, 2020, 14:08
Куда-то нужно вставить chcp 866, чтобы консоль винды перевести на 1251.


Название: Re: кракозябры в QtCreator
Отправлено: Авварон от Октябрь 09, 2020, 14:14
У него мингв && маке ))


лол, слона-то я и не заметил)))


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 09, 2020, 14:16
У него мингв && маке ))
Ну славо богу..... на второй странице один человек заметил мингв, который был в самом первом посту и потом на протяжении всей темы. Мне весь пост вижуал, вижуал....

Цитировать
Но там думаю тоже, удалить файлик локализации надо
я же показал вывод тулчейна - он EN. Да и при чем тут вообще тулчейн (хоть мингв, хоть вижуал), если хз кто гадит?

загнал кракозябры в блокнот, тот перевел "не удается найти" (даже блокнот это умеет, фэйспалм). Стало всё ясно.
IDE вызывает команду "del {file_name}", del выдает результат в 866 "не удается найти {полный путь и имя файла}". QtC, знает системную локаль как cp1251, и выводит дэловский вывод в 1251.

Вопрос: как задать креатору локаль в его окошке вывода? Это-то хоть он умеет?

 


Название: Re: кракозябры в QtCreator
Отправлено: qate от Октябрь 09, 2020, 16:20
я вот так весь монитор заплевал от энтой венды и ее кодировок
написал скрипт и обычно его хватает чтобы собрать вендовую версию программы
ответа на сабж не знаю, но неверно он есть


Название: Re: кракозябры в QtCreator
Отправлено: alex312 от Октябрь 09, 2020, 23:01
как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.


Название: Re: кракозябры в QtCreator
Отправлено: Пантер от Октябрь 09, 2020, 23:48
как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
Почему печально? Вполне хороший подход для разработчика.


Название: Re: кракозябры в QtCreator
Отправлено: sergek от Октябрь 10, 2020, 00:37
Почему печально? Вполне хороший подход для разработчика.
Ага, и имена файлов длиной не более 8 символов с расширением 3  ;)


Название: Re: кракозябры в QtCreator
Отправлено: alex312 от Октябрь 10, 2020, 10:32
Ага, и имена файлов длиной не более 8 символов с расширением 3  ;)
Ага, это еще одна "фича" винды. Есть 2 апи для работы с файлами. Старое и новое.
У старого ограничение на путь в 255 байтиков. Новое поболе, вроде 65000.

И, естественно, масса тулов могут только в старое :(


Название: Re: кракозябры в QtCreator
Отправлено: tux от Октябрь 10, 2020, 11:16
как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
Аналогично. Заодно и с переводом своих программ на несколько языков нет неожиданных проблем.

По теме: было решение, это я точно помню. Пороюсь в архивах, может найду. Эта проблема ведь встаёт каждый раз, когда нужно собрать приложение под винду. Благо, что сейчас это нужно всё меньше и меньше. :)


Название: Re: кракозябры в QtCreator
Отправлено: sergek от Октябрь 10, 2020, 15:59
Если следовать элементарной логике, то mingw выдает выхлоп в консоль. Консоль виндов - это полное г..., с досовской кодировкой. Поэтому, чтобы не было кракозябр в креаторе, нужно искать способ задать кодировку в той консоли, куда идет вывод. Как - я не знаю (да и не хотелось, все и так работает очень хорошо). Собственно, я об этом и пытался сказать чуть ранее.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 12, 2020, 07:04
Если следовать элементарной логике, то mingw выдает выхлоп в консоль.
В третий.... или в 5-ый раз (посчитайте) повторюсь, ... Если следовать элементарной логике, вообще насрать безразницы что там выдает mingw (в контексте этой темы). mingw всё выдает в аглицком.
Есть утилита ms del (https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/del), которая результат работы выдает в кодировке 866.
Есть QtCreator и есть консоль windows. Консоль windows из покон веков в 866. Все утилиты, выводящие сообщения в кириллице в консоль виндоус должны возвращать в кодировке 866.
Некий индус программист, пишет QtC, создает в нем свою консоль и назначает ей кодировку 1251. Что к чему? Ну да ладно, пусть хоть утф8, (хоть свою кодировку придумает - кому какая разница....) но только ты должен выводить в нее сообщения в этой же кодировке, т.е. в кодировке 1251 (или в утф8, или в своей). Вывел "Выполняются этапы для проекта" - молодец, похвально (вернее ни чего особого, просто не накосячил). Но потом, QtC вызывает ms del, получает ответ в 866 и !!!! не перекодируя в 1251 вываливает его в свою консоль. Wtf?
Это только del. А возможно QtC ещё с десяток внешних программ дёргает.... и возможно наткнётся на компилятор, который выдаст кириллицу в правильной для винды кодировке - в 866 (в гугле тиких примеров полно). И QtC это 866-ой выхлоп покажет вам в 1251 консоли!!!

Цитировать
Поэтому, чтобы не было кракозябр в креаторе, нужно искать способ задать кодировку в той консоли, куда идет вывод.
Капитан очевидность. Я об этом и спрашиваю: как поменять задать кодировку консоли QtC?

Цитировать
Куда-то нужно вставить chcp 866, чтобы консоль винды перевести на 1251.
Да консоль венды тут вообще не причем. Есть три объекта: del (и куча других ms и неms утилит) , QtC и консоль QtC. 

ps У МЕНЯ MINGW, MINGW ВЫДАЕТ СООБЩЕНИЯ НА АНГЛИЙСКОМ
Это какой-то ужас... программисты, только на второй странице понимают замечают, что речь идет о mingw, и продолжают не замечать, что вывод mingw на английском. Или тут нет программистов?


Название: Re: кракозябры в QtCreator
Отправлено: Igors от Октябрь 12, 2020, 08:39
Это какой-то ужас... программисты, только на второй странице понимают замечают, что речь идет о mingw, и продолжают не замечать, что вывод mingw на английском. Или тут нет программистов?
У программиста нет времени заниматься такой фигней. Вот хороший совет
как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
Ну "в нижнем регистре" - перегиб, но в остальном я делаю точно так же. Не стоит искать ненужных приключений, заглянуть пару раз в словарь проще и полезнее. Кстати то же касается и имен переменных.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 12, 2020, 08:44
У программиста нет времени заниматься такой фигней. Вот хороший совет
Т.е . у программиста нет времени сюда заходить, и две страницы давать советы про VC, которого в упор тут нет....  ну значит действительно, тут нет программистов.


Название: Re: кракозябры в QtCreator
Отправлено: alex312 от Октябрь 12, 2020, 09:26
ps У МЕНЯ MINGW, MINGW ВЫДАЕТ СООБЩЕНИЯ НА АНГЛИЙСКОМ
Это какой-то ужас... программисты, только на второй странице понимают замечают, что речь идет о mingw, и продолжают не замечать, что вывод mingw на английском. Или тут нет программистов?

А зачем так кричать ? Нервничать ? Ответ был дан в третьем сообщении темы. Это извесный баг QtCreator.
Ну и какбы, если ты настоящий прогаммист, то пулл реквесты принимаються круглосуточно :) .


Название: Re: кракозябры в QtCreator
Отправлено: RedDog от Октябрь 12, 2020, 09:48
Если в консоли chcp 866, а потом оттуда же креатор запустить?
Помнится во времена сидения под виндой мне такое помогало, даже отдельный батник для запуска креатора наваял ради этого.


Название: Re: кракозябры в QtCreator
Отправлено: ssoft от Октябрь 12, 2020, 11:56
Может этот пост поможет http://blog.mgsxx.com/?p=2979 ?


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 12, 2020, 12:05
Может этот пост поможет http://blog.mgsxx.com/?p=2979 ?
не помогает.


Название: Re: кракозябры в QtCreator
Отправлено: ssoft от Октябрь 12, 2020, 12:11
И рецепты из ссылок в посте, например, http://codedchaos.blogspot.com/2012/09/qt-creator-windows.html тоже?


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 12, 2020, 12:33
И рецепты из ссылок в посте, например, http://codedchaos.blogspot.com/2012/09/qt-creator-windows.html тоже?
не помогает.....

чем дальше в лес, тем больше дров.... это конечно уникальная IDE.... "известный баг", "1000 лет проблеме".... сейчас собираю приложение... mingw естественно английский.... и такой вывод...

Цитировать
copy /y C:\work\workspace\Qt\modules\cli\CLIModule.qbs ..\..\..\share\modules\cli\CLIModule.qbs
����������� ������:         1.
copy /y C:\work\workspace\Qt\modules\cli\CLIModule.qbs ..\..\..\share\modules\cli\CLIModule.qbs
����������� ������:         1.
copy /y C:\work\workspace\Qt\modules\cli\CLIModule.qbs ..\..\..\share\modules\cli\CLIModule.qbs
����������� ������:         1.
copy /y C:\work\workspace\Qt\modules\cli\CLIModule.qbs ..\..\..\share\modules\cli\CLIModule.qbs
����������� ������:         1.
"llvm-config" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
"llvm-config" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
"llvm-config" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.

����������� ������ - это ответ утилиты copy, которая сообщает "скопировано файлов: 1"

"llvm-config" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬. -

"llvm-config" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Это конечно уникально...!!! QtC в одной make-сесии умудряется черт знает в каких кодировках выдавать сообщения. И такие кракозябры, и такие - выбирай на любой вкус. Какая ещё IDE даст такую свободу выбора? )))


Название: Re: кракозябры в QtCreator
Отправлено: Igors от Октябрь 12, 2020, 12:57
Ну что ж Вы так убиваетесь? Делайте все по-английски - и все прекрасно получится. Разработчики ведь тоже не хотят на это тратить свое время. За что боретесь? Увидеть в консоли русский текст? Невелико счастье. Ваше упорство достойно лучшего применения


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Октябрь 12, 2020, 13:57
Да поставь уже англицкую локаль в своей винде и не парься ))


Название: Re: кракозябры в QtCreator
Отправлено: ssoft от Октябрь 12, 2020, 22:27
Это конечно уникально...!!! QtC в одной make-сесии умудряется черт знает в каких кодировках выдавать сообщения. И такие кракозябры, и такие - выбирай на любой вкус. Какая ещё IDE даст такую свободу выбора? )))

Не понятен наезд на QtC. Это проблема командной строки и применения разнородных инструментов. Так уж получилось, что QtC может работать в разных сочетаниях, но за вывод в консоль отвечает конкретное приложение, а не IDE. При сборке проекта из командной строки без QtC как обстоит дело с кракозябрами?


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Октябрь 13, 2020, 06:50
Это конечно уникально...!!! QtC в одной make-сесии умудряется черт знает в каких кодировках выдавать сообщения. И такие кракозябры, и такие - выбирай на любой вкус. Какая ещё IDE даст такую свободу выбора? )))

Не понятен наезд на QtC. Это проблема командной строки и применения разнородных инструментов. Так уж получилось, что QtC может работать в разных сочетаниях, но за вывод в консоль отвечает конкретное приложение, а не IDE. При сборке проекта из командной строки без QtC как обстоит дело с кракозябрами?
Исторически кодировка в винде 1251, кодировка в консоли в винде 866. Любое виндовое консольное приложение выводит сообщения в консоль в кодировке 866. Если пишешь свою консольную программу под винду, то выводи в 866. Если вывел в другой кодировке, то в коробку со своим приложением прикладывай бубен и мануал для юзера по смене кодировки консоли в винде. Тут кагбэ не спор. Если кто-то с этим не согласен, дальше можно не общаться.


Так вот.... любая консольная программа русский текст выводит в 866. Будь это del, copy, msvc, mingw, arm-gcc, rar, .... все виндовые консольные утилиты выводят текст в 866.

У QtC своих инструментов для сборки нет. Он использует внешние инструменты. QtC вызывает del, del возвращает сообщение "не найден файл" в кодировке 866. QtC получив это сообщение выводит его в своем окне в кодировке 1251. Почему? Всему миру известно, что по дефолту виндовая консоль в кодировке 866, даже нелокализованная винда (английская) имеет кодировку в консоли 866. С какого перепугу QtC получив текст в 866 показывает его в 1251?
QtC вызывает утилиту copy, та возвращает сообщение "скопировано файлов: 1", QtC это сообщение опять показывает кракозябрами
QtC вызывает утилиту llvm-config. У меня нет такой утилиты. Винда, на великом и могучем, в консоли мне об это сообщает "не является внутренней или внешней командой, исполняемой программой или пакетным файлом.", QtC это показывает кракозябрами. Почему?
Цитировать
за вывод в консоль отвечает конкретное приложение, а не IDE
Да, согласен. В данном случае каждое приложение правильно выводит в консоль в кодировке 866. А QtC эти сообщения отображает в своей консоли в другой кодировке не перекодировав. Вот в этом наезд на QtC. Это было бы простительно молодой и амбициозной IDE в далёком 2009-2010.... но протащили/проглядели они этот баг в версии 2... весь инет бурлит говнами кракозябр в QtC (и только в QtC, про остальные  идэ может и есть единичные проблемы с кракозябрами, но с QtC это имеет массовый характер)... сейчас на дворе 2020 - а кракозябры в креаторе это уже что-то перманентное.

Цитировать
без QtC как обстоит дело с кракозябрами?
их нет, см скрин.


Название: Re: кракозябры в QtCreator
Отправлено: sergek от Октябрь 13, 2020, 10:23
Так вот.... любая консольная программа русский текст выводит в 866. Будь это del, copy, msvc, mingw, arm-gcc, rar, .... все виндовые консольные утилиты выводят текст в 866.

У QtC своих инструментов для сборки нет. Он использует внешние инструменты. QtC вызывает del, del возвращает сообщение "не найден файл" в кодировке 866. QtC получив это сообщение выводит его в своем окне в кодировке 1251. Почему? Всему миру известно, что по дефолту виндовая консоль в кодировке 866, даже нелокализованная винда (английская) имеет кодировку в консоли 866. С какого перепугу QtC получив текст в 866 показывает его в 1251?
Все верно. Но вот интересно, а как креатор ведет себя в китайской или венгерской локализованной версии? Может, там такая же картина? И это не недоработка программистов, а просто игнорирование иных, кроме англоиспользующих юзеров?   ;)


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 03, 2020, 07:53
Пример IDE и используемых (русско-локализованных) тулчейнов в студию.


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Ноябрь 03, 2020, 10:50
Это случаем не под Linux? :)


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 03, 2020, 12:04
линукс.


Название: Re: кракозябры в QtCreator
Отправлено: kuzulis от Ноябрь 03, 2020, 16:25
Дык вопрос то был в контексте Windows.  ;D (на линухе то все работает как часы)


Название: Re: кракозябры в QtCreator
Отправлено: RedDog от Ноябрь 05, 2020, 10:10
На виртуалке винда 10 стоит, тоже кракозябры доставали с компилятором от мелкософта, переключил винду на английский язык, и в креаторе стал вывод на нормальном русском )))
При этом винда поменяла язык только в меню "пуск", в остальных виндовых окнах так по русски все и осталось.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 05, 2020, 10:13
На виртуалке винда 10 стоит, тоже кракозябры доставали с компилятором от мелкософта, переключил винду на английский язык, и в креаторе стал вывод на нормальном русском )))
При этом винда поменяла язык только в меню "пуск", в остальных виндовых окнах так по русски все и осталось.
покажи вывод chcp?


Название: Re: кракозябры в QtCreator
Отправлено: Hellraiser от Ноябрь 05, 2020, 11:45
Если хочется, чтобы в консоли Windows сообщения от стандартных команд (типа del) выводились на английском - надо дать команду
Код
DOS
chcp 850
Но эта смена языка будет актуальна только для текущей сессии.


Название: Re: кракозябры в QtCreator
Отправлено: RedDog от Ноябрь 05, 2020, 14:22
На виртуалке винда 10 стоит, тоже кракозябры доставали с компилятором от мелкософта, переключил винду на английский язык, и в креаторе стал вывод на нормальном русском )))
При этом винда поменяла язык только в меню "пуск", в остальных виндовых окнах так по русски все и осталось.
покажи вывод chcp?
65001 показывает


Название: Re: кракозябры в QtCreator
Отправлено: alex312 от Ноябрь 05, 2020, 15:35
65001 показывает
это юникод.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 05, 2020, 16:17
На виртуалке винда 10 стоит, тоже кракозябры доставали с компилятором от мелкософта, переключил винду на английский язык, и в креаторе стал вывод на нормальном русском )))
При этом винда поменяла язык только в меню "пуск", в остальных виндовых окнах так по русски все и осталось.
скорее всего вы не переключили винду на английски. Покапался я в 10-ке (QtC стоит на 7-ке). Вобщем Параметры-Язык-Административные язоковые параметры-дополнительно-изменить язык системы... выскочит менюшка, на ней выбрать русский язык и поставить галочку "Бета-версия: Использовать Юникод бла бла бла...". После этого весь гуй винды как был на русском, так и остался. chcp показывает 65001, вывод системных утилит (del, copy, и т.п.) на английском. Возможно после этого QtC будет без кракозябр (на русском или английском).


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 09, 2020, 12:31
Бага за багой.... вытянуть не могут.

QtC не может показать в отладчике QDoc (возможно может... но мне только адрес показывает. Ни детей, ни атрибутов....). ну да ладно.... есть qDebug()

Вставил в код

qDebug("create name node is %s", name().toStdString().c_str());

если собрать с отладочной информацией и запустить (Ctrl+R, Run, Запуск...), то вывод в консоли QtC такой
Цитировать
create name node is Параметры гидрораспределителя 1
если собрать с отладочной информацией и запустить отладку, то вывод в консоли QtC такой
Цитировать
create name node is Ïàðàìåòðû ãèäðîðàñïðåäåëèòåëÿ 1

ps да ещё, про м0ветоны русского языка в тулчейнах.... не важно с какой локализацией тулчейн, в консоль должен быть вывод и на русском и на английском.
Сделал я себе английскую локаль, английский тулчейн.... нужно подебажить код.... идет разбор xml, нужно вывести имя тага. Имя тагу задает пользователь (либо в отдельном редакторе, либо нужные поля в проге заполняет). Теперь пользователю тоже нельзя на русском? Нужно всем пользователям учить английский?


Название: Re: кракозябры в QtCreator
Отправлено: kambala от Ноябрь 09, 2020, 14:03
qDebug("create name node is %s", name().toStdString().c_str());
qDebug("create name node is %s", qUtf8Printable(name()));

либо через qDebug() <<


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 09, 2020, 14:47
qDebug("create name node is %s", qUtf8Printable(name()));
- вывод как и с моим вариантом: с отладчиком кракозябры, без отладчика нормальный русский.

Цитировать
либо через qDebug() <<
- вывод как и с моим вариантом: с отладчиком кракозябры, без отладчика нормальный русский.


Название: Re: кракозябры в QtCreator
Отправлено: demal от Ноябрь 09, 2020, 21:37
Чего-то ты страдаешь 4-ю страницу. Зайди в параметры/текстовый редактор/кодировка файлов/по умолчанию и поставь utf-8. Потом свои файлы пересохрани в соответсвующей кодировке и будет тебе счастье. Хренью какой-то занимаешься.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Ноябрь 10, 2020, 06:41
Чего-то ты страдаешь 4-ю страницу. Зайди в параметры/текстовый редактор/кодировка файлов/по умолчанию и поставь utf-8. Потом свои файлы пересохрани в соответсвующей кодировке и будет тебе счастье. Хренью какой-то занимаешься.
Как твой совет поможет? Посоветуй ещё банку с водой перед монитором поставить.
На всех 4-х страницах, отношение проблемы к кодировке исходного кода чуть менее чем ни какого. Для тех, кто в танке....
Цитировать
идет разбор xml, нужно вывести имя тага.
Цитировать
Вставил в код
qDebug("create name node is %s", name().toStdString().c_str());
Ни какого русского языка в исходном коде нет. Кодировка xml-файла utf8.

Какое отношение кодировка исходного кода имеет к утилитам del, copy или к кодировке консоли QtC?


Название: Re: кракозябры в QtCreator
Отправлено: demal от Ноябрь 10, 2020, 22:01
Чего-то ты страдаешь 4-ю страницу. Зайди в параметры/текстовый редактор/кодировка файлов/по умолчанию и поставь utf-8. Потом свои файлы пересохрани в соответсвующей кодировке и будет тебе счастье. Хренью какой-то занимаешься.
Как твой совет поможет? Посоветуй ещё банку с водой перед монитором поставить.
На всех 4-х страницах, отношение проблемы к кодировке исходного кода чуть менее чем ни какого. Для тех, кто в танке....
Цитировать
идет разбор xml, нужно вывести имя тага.

Ты забыл вспомнить про шрифт QTc, Но хочешь "интеллектуальности" от программы...
" Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

chcp 866; chcp 1251; chcp 65001 - не помогали.

Оказывается надо в свойствах самого cmd выбрать шрифт Lucida Console!!!. Только так можно получить нормальный текст на русском языке."
Вот такие странные вещи люди пишут в интернете.


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Февраль 11, 2021, 09:03
Пример IDE и используемых (русско-локализованных) тулчейнов в студию.
QtC + Win10
вобщем qt признает баг qtc в win7, но....
Цитировать
The Qt Company supporting only Windows versions supported by Microsoft.

Решение проблемы:
в голом win10 в настройках Clock and region->adminis...->change local язык системы оставляем русский, ставим галку "бета-версия: использовать ютф...."
ставим qtc и пишем код прямо "из коробки", т.е. дополнительно я ни одной настройки в qtc не менял. Я даже не знаю какая кодировка в редакторе (да в принципе это и не интересно).
Пишу русско-английский код... сборка/запуск.... Получи и распишись.

Придётся съезжать с вин7...  

ps правда полез побочный эффект... python-овские скрипты перестали работать, т.к. им не нравиться консоль ютф. Но это другая история.


Название: Re: кракозябры в QtCreator
Отправлено: tux от Февраль 11, 2021, 09:52
ps правда полез побочный эффект... python-овские скрипты перестали работать, т.к. им не нравиться консоль ютф.
Всё работает и всегда работало. Правда в linux. :) Это я к тому, что скриптам не может "не нравиться консоль ютф".


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Февраль 11, 2021, 10:00
скриптам не может "не нравиться консоль ютф".
после смены консоли на ютф, куча питоновских скриптов (программ) перестали работать. При возврате в 866 всё прекрасно работает.


Название: Re: кракозябры в QtCreator
Отправлено: tux от Февраль 11, 2021, 10:03
после смены консоли на ютф, куча питоновских скриптов (программ) перестали работать. При возврате в 866 всё прекрасно работает.
Возможно, что это только в винде такое. У себя при таком поведении я бы не собрать, ни обновить систему не смог бы.


Название: Re: кракозябры в QtCreator
Отправлено: tux от Февраль 11, 2021, 10:23
Кстати, последний совет работает, спасибо!
Вообще, у винды всегда с UTF было плохо. Неужели, они начали исправляться? Всего то 20 лет прошло. :D


Название: Re: кракозябры в QtCreator
Отправлено: juvf от Февраль 18, 2021, 10:17
продолжаем разговор.....
Любителям юзать в винде локализированные тулчейны посвящается...
Цитировать
At QtCreator: Add ability to specify text codec for default locale (I64496cc4) · Gerrit Code Review (qt-project.org) Qt Creator master (upcoming 4.15) got in Settings a combobox for "Text codec for locale" where you can select UTF-8 and this should allow UTF-8 output from tools to be displayed correctly on Windows 7.
Ждём 4.15 релиза. Кому не в терпёж - качаем бэту (https://github.com/qt-creator/qt-creator/runs/1919340237)



Название: Re: кракозябры в QtCreator
Отправлено: juvf от Февраль 19, 2021, 07:06
Никак.
да :( https://bugreports.qt.io/browse/QTCREATORBUG-316

Цитата: Cristian Adam
Better 11 years later than never, right?