Название: Неправильно отображается русский текст Отправлено: NickB53 от Октябрь 12, 2013, 10:37 Что надо сделать чтобы русские буквы отображались правильно из такого кода:
QLabel *label; label->setText("Руский текст"); Среда разработки = VS2010, Win7 32 bit. Использовать транслятор неохота да и незачем, т.к. программы для внутреннего использования (тестирование прошивки микропроцессора и т.п). Спасибо Название: Re: Неправильно отображается русский текст Отправлено: gil9red от Октябрь 12, 2013, 10:41 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"))
Это зависит от того в какой кодировки ваши файлы с кодом :) Название: Re: Неправильно отображается русский текст Отправлено: LisandreL от Октябрь 12, 2013, 11:03 Но лучше сразу в utf-8 исходники переводить. Всё равно в Qt5 это единственный вариант.
Название: Re: Неправильно отображается русский текст Отправлено: NickB53 от Октябрь 12, 2013, 11:11 А как это можно (преобразовать исходники в UTF-8) в среде VC2010
Название: Re: Неправильно отображается русский текст Отправлено: Bepec от Октябрь 12, 2013, 11:35 VS2010 спокойно кушает UTF 8. Только преобразовывать сама не умеет. У меня под это имеется консольная программка, недавно написал. Тупо H, CPP переводит в UTF8 Ж)
Название: Re: Неправильно отображается русский текст Отправлено: sergek от Октябрь 12, 2013, 14:07 А как это можно (преобразовать исходники в UTF-8) в среде VC2010 http://anton-pribora.ru/projects/recoder/ (http://anton-pribora.ru/projects/recoder/)BOM в файлах, которые кушает программа, удаляйте, в противном случае можно поиметь лишний гимор ;) Название: Re: Неправильно отображается русский текст Отправлено: NickB53 от Октябрь 12, 2013, 19:21 Спасибо
Название: Re: Неправильно отображается русский текст Отправлено: Fregloin от Октябрь 12, 2013, 20:15 я всегда использую подход типа
label->setText(trUtf8("Кириллица")); Название: Re: Неправильно отображается русский текст Отправлено: gil9red от Октябрь 12, 2013, 20:40 Но лучше сразу в utf-8 исходники переводить. Всё равно в Qt5 это единственный вариант. Предположил, что автор работает на винде, а там по дэфолту 1251 кодировка :)NotePad++ позволяет легко кодировать файлы )) И при конвертировании в utf можно будет выбрать кодировать ли с BOM ) Сам им пользуюсь, так как: 1. работаю на винде 2. файлы с кодом держу в utf8 Название: Re: Неправильно отображается русский текст Отправлено: lit-uriy от Октябрь 13, 2013, 11:48 открой пример из поставки Qt
examples\tools\codecs там редактор с возможностью перекодировать файлы Название: Re: Неправильно отображается русский текст Отправлено: gil9red от Октябрь 13, 2013, 20:16 Не знал, про этот пример =(
Спасибо, очень интересен! :) Кст, utf8 он сохраняет без BOM :) Название: Re: Неправильно отображается русский текст Отправлено: LisandreL от Октябрь 13, 2013, 21:19 Предположил, что автор работает на винде, а там по дэфолту 1251 кодировка Свежие криэйторы по умолчанию utf8 ставят (хотя раньше тоже системную кодировку ставили). Про VS не в курсе.я всегда использую подход типа К слову в Qt5 упразднили trUtf8.label->setText(trUtf8("Кириллица")); NotePad++ позволяет легко кодировать файлы Пакетного преобразования вроде нет, а если проект уже есть и большой, то по одному файлу перекодировать как-то уныло. Название: Re: Неправильно отображается русский текст Отправлено: Fregloin от Октябрь 17, 2013, 09:45 на счёт упразднили trUtf8 не знаю, но у меня оно работает в 5м Qt...
Т.к. сейчас веду разработку временно под виндой, то все работает как надо именно с trUtf8. Название: Re: Неправильно отображается русский текст Отправлено: LisandreL от Октябрь 17, 2013, 10:43 на счёт упразднили trUtf8 не знаю, но у меня оно работает в 5м Qt... Ну не совсем правильно выразился.Т.к. сейчас веду разработку временно под виндой, то все работает как надо именно с trUtf8. Пока что он имеется, но указан как QT_DEPRECATED и в документации находится в Obsolete Members for QObject. Название: Re: Неправильно отображается русский текст Отправлено: Alexu007 от Ноябрь 08, 2013, 07:12 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251")) Это зависит от того в какой кодировки ваши файлы с кодом :) Только надо добавить #include <QTextCodec>, иначе ругается при компиляции. Пустячок, а неприятно, пришлось тратить время на поиски ошибки. Это можна добавить и в main.cpp, и в widget.cpp в конструктор - работает и так и так. А куда правильнее? Название: Re: Неправильно отображается русский текст Отправлено: carrygun от Ноябрь 08, 2013, 12:55 В main.
|