Russian Qt Forum
Ноябрь 26, 2024, 20:29
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Неправильно отображается русский текст
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Неправильно отображается русский текст (Прочитано 12850 раз)
NickB53
Гость
Неправильно отображается русский текст
«
:
Октябрь 12, 2013, 10:37 »
Что надо сделать чтобы русские буквы отображались правильно из такого кода:
QLabel *label;
label->setText("Руский текст");
Среда разработки = VS2010, Win7 32 bit.
Использовать транслятор неохота да и незачем, т.к. программы для внутреннего использования (тестирование прошивки микропроцессора и т.п).
Спасибо
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Неправильно отображается русский текст
«
Ответ #1 :
Октябрь 12, 2013, 10:41 »
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"))
Это зависит от того в какой кодировки ваши файлы с кодом
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Неправильно отображается русский текст
«
Ответ #2 :
Октябрь 12, 2013, 11:03 »
Но лучше сразу в utf-8 исходники переводить. Всё равно в Qt5 это единственный вариант.
Записан
NickB53
Гость
Re: Неправильно отображается русский текст
«
Ответ #3 :
Октябрь 12, 2013, 11:11 »
А как это можно (преобразовать исходники в UTF-8) в среде VC2010
Записан
Bepec
Гость
Re: Неправильно отображается русский текст
«
Ответ #4 :
Октябрь 12, 2013, 11:35 »
VS2010 спокойно кушает UTF 8. Только преобразовывать сама не умеет. У меня под это имеется консольная программка, недавно написал. Тупо H, CPP переводит в UTF8 Ж)
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: Неправильно отображается русский текст
«
Ответ #5 :
Октябрь 12, 2013, 14:07 »
Цитата: NickB53 от Октябрь 12, 2013, 11:11
А как это можно (преобразовать исходники в UTF-8) в среде VC2010
http://anton-pribora.ru/projects/recoder/
BOM в файлах, которые кушает программа, удаляйте, в противном случае можно поиметь лишний гимор
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
NickB53
Гость
Re: Неправильно отображается русский текст
«
Ответ #6 :
Октябрь 12, 2013, 19:21 »
Спасибо
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: Неправильно отображается русский текст
«
Ответ #7 :
Октябрь 12, 2013, 20:15 »
я всегда использую подход типа
label->setText(trUtf8("Кириллица"));
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Неправильно отображается русский текст
«
Ответ #8 :
Октябрь 12, 2013, 20:40 »
Цитата: LisandreL от Октябрь 12, 2013, 11:03
Но лучше сразу в utf-8 исходники переводить. Всё равно в Qt5 это единственный вариант.
Предположил, что автор работает на винде, а там по дэфолту 1251 кодировка
NotePad++ позволяет легко кодировать файлы ))
И при конвертировании в utf можно будет выбрать кодировать ли с BOM )
Сам им пользуюсь, так как:
1. работаю на винде
2. файлы с кодом держу в utf8
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Неправильно отображается русский текст
«
Ответ #9 :
Октябрь 13, 2013, 11:48 »
открой пример из поставки Qt
examples\tools\codecs
там редактор с возможностью перекодировать файлы
Записан
Юра.
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Неправильно отображается русский текст
«
Ответ #10 :
Октябрь 13, 2013, 20:16 »
Не знал, про этот пример =(
Спасибо, очень интересен!
Кст, utf8 он сохраняет без BOM
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Неправильно отображается русский текст
«
Ответ #11 :
Октябрь 13, 2013, 21:19 »
Цитата: gil9red от Октябрь 12, 2013, 20:40
Предположил, что автор работает на винде, а там по дэфолту 1251 кодировка
Свежие криэйторы по умолчанию utf8 ставят (хотя раньше тоже системную кодировку ставили). Про VS не в курсе.
Цитата: Fregloin от Октябрь 12, 2013, 20:15
я всегда использую подход типа
label->setText(trUtf8("Кириллица"));
К слову в Qt5 упразднили trUtf8.
Цитата: gil9red от Октябрь 12, 2013, 20:40
NotePad++ позволяет легко кодировать файлы
Пакетного преобразования вроде нет, а если проект уже есть и большой, то по одному файлу перекодировать как-то уныло.
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: Неправильно отображается русский текст
«
Ответ #12 :
Октябрь 17, 2013, 09:45 »
на счёт упразднили trUtf8 не знаю, но у меня оно работает в 5м Qt...
Т.к. сейчас веду разработку временно под виндой, то все работает как надо именно с trUtf8.
Записан
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Неправильно отображается русский текст
«
Ответ #13 :
Октябрь 17, 2013, 10:43 »
Цитата: Fregloin от Октябрь 17, 2013, 09:45
на счёт упразднили trUtf8 не знаю, но у меня оно работает в 5м Qt...
Т.к. сейчас веду разработку временно под виндой, то все работает как надо именно с trUtf8.
Ну не совсем правильно выразился.
Пока что он имеется, но указан как QT_DEPRECATED и в документации находится в Obsolete Members for QObject.
Записан
Alexu007
Гость
Re: Неправильно отображается русский текст
«
Ответ #14 :
Ноябрь 08, 2013, 07:12 »
Цитата: gil9red от Октябрь 12, 2013, 10:41
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"))
Это зависит от того в какой кодировки ваши файлы с кодом
Только надо добавить #include <QTextCodec>, иначе ругается при компиляции. Пустячок, а неприятно, пришлось тратить время на поиски ошибки.
Это можна добавить и в
main.cpp
, и в
widget.cpp
в конструктор - работает и так и так. А куда правильнее?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...