Russian Qt Forum
Ноябрь 24, 2024, 03:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3 4 5   Вниз
  Печать  
Автор Тема: кракозябры в QtCreator  (Прочитано 32230 раз)
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #15 : Октябрь 09, 2020, 13:04 »

Settings->Kits->Environment: Force UTF-8 MSVC compiler output не оно?
не помогает, я уже писал
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #16 : Октябрь 09, 2020, 13:22 »

Settings->Kits->Environment: Force UTF-8 MSVC compiler output не оно?
для студии это фиксит выхлоп компилятора, но ломает вывод линкера (без галочки — наоборот)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #17 : Октябрь 09, 2020, 13:54 »

https://stackoverflow.com/a/44810215 ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #18 : Октябрь 09, 2020, 13:57 »

У него мингв && маке ))

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

Или локаль en_US.UTF-8 (или С) задать через LC_ALL.
« Последнее редактирование: Октябрь 09, 2020, 14:02 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #19 : Октябрь 09, 2020, 14:08 »

Куда-то нужно вставить chcp 866, чтобы консоль винды перевести на 1251.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #20 : Октябрь 09, 2020, 14:14 »

У него мингв && маке ))


лол, слона-то я и не заметил)))
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #21 : Октябрь 09, 2020, 14:16 »

У него мингв && маке ))
Ну славо богу..... на второй странице один человек заметил мингв, который был в самом первом посту и потом на протяжении всей темы. Мне весь пост вижуал, вижуал....

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

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

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

 
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #22 : Октябрь 09, 2020, 16:20 »

я вот так весь монитор заплевал от энтой венды и ее кодировок
написал скрипт и обычно его хватает чтобы собрать вендовую версию программы
ответа на сабж не знаю, но неверно он есть
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #23 : Октябрь 09, 2020, 23:01 »

как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
« Последнее редактирование: Октябрь 09, 2020, 23:16 от alex312 » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #24 : Октябрь 09, 2020, 23:48 »

как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
Почему печально? Вполне хороший подход для разработчика.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #25 : Октябрь 10, 2020, 00:37 »

Почему печально? Вполне хороший подход для разработчика.
Ага, и имена файлов длиной не более 8 символов с расширением 3  Подмигивающий
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #26 : Октябрь 10, 2020, 10:32 »

Ага, и имена файлов длиной не более 8 символов с расширением 3  Подмигивающий
Ага, это еще одна "фича" винды. Есть 2 апи для работы с файлами. Старое и новое.
У старого ограничение на путь в 255 байтиков. Новое поболе, вроде 65000.

И, естественно, масса тулов могут только в старое Грустный
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #27 : Октябрь 10, 2020, 11:16 »

как это не печально, но я досихпор придерживаюсь правила везде выставлять язык английский (компиляторы, IDE), а  в названиях папок не использую пробелы, и имена файлов/папок только латиницей в нижнем регистре.
Аналогично. Заодно и с переводом своих программ на несколько языков нет неожиданных проблем.

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

sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #28 : Октябрь 10, 2020, 15:59 »

Если следовать элементарной логике, то mingw выдает выхлоп в консоль. Консоль виндов - это полное г..., с досовской кодировкой. Поэтому, чтобы не было кракозябр в креаторе, нужно искать способ задать кодировку в той консоли, куда идет вывод. Как - я не знаю (да и не хотелось, все и так работает очень хорошо). Собственно, я об этом и пытался сказать чуть ранее.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #29 : Октябрь 12, 2020, 07:04 »

Если следовать элементарной логике, то mingw выдает выхлоп в консоль.
В третий.... или в 5-ый раз (посчитайте) повторюсь, ... Если следовать элементарной логике, вообще насрать безразницы что там выдает mingw (в контексте этой темы). mingw всё выдает в аглицком.
Есть утилита ms 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 на английском. Или тут нет программистов?
Записан
Страниц: 1 [2] 3 4 5   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 22.