Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 14.6.2011, 16:29 |
Так это же freeBSD а не линукс и линуксы всякие бывают |
|
RazrFalcon | Дата 14.6.2011, 16:27 |
Так это же freeBSD а не линукс | |
Litkevich Yuriy | Дата 14.6.2011, 16:17 |
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); А если у тебя База данных в CP-1251 (windows), как будешь разруливать?Возможно ли Qt научить самого определять кодировку? НЕТА как узнать необходимую кодировку, чтобы указать ее в конструкции Ты должен знать её сам, любой современный текстовый редактор, а тем более программистский, позволяет задать кодировку. Какая-то из кодировок в нём установлена по умолчанию для новых файлов.Как узнать кодировку используемой системы windows/linux. кодировка системы тебе не нужна. (на русском виндовозе в графическом интерфейсе - CP-1251/Windows-1251, а в консоли - OEM866/IBM866)Linux - UTF8 часто, но не всегда. FreeBSD, например, koi-8r |
|
RazrFalcon | Дата 14.6.2011, 15:10 |
А как перейти на UTF-8? Тогда отпадет необходимость в использовании кодека, а как быть при портировании программы на другую машину? Да нет же, там вы задаете кодировку исходников. В creator'е никак не задать кодирорву проги, это логично. >>UTF-6 и UTF-16 не подходят, опять ромбики. кто бы сомневался, их хотя бы кто то использует? Linux - UTF8 Винда - cp1251 или Windows-1251 |
|
Borodeys | Дата 14.6.2011, 13:48 |
А как перейти на UTF-8? Тогда отпадет необходимость в использовании кодека, а как быть при портировании программы на другую машину? | |
silver47 | Дата 14.6.2011, 13:29 |
В файле main.cpp до вызова конструктора виджета:
Для WinXP кажется cp1251 - по умолчанию. Опять же здесь нужно устанавливать такую кодировку, которая стоит у ВАС Настройки QT - Инструменты/параметры/среда/основные. Если стоит System - то ставьте в программе cp1251. Я Уже давно на UTF-8 перешел. |
|
Borodeys | Дата 14.6.2011, 13:27 |
А как узнать необходимую кодировку, чтобы указать ее в конструкции UTF-6 и UTF-16 не подходят, опять ромбики. Может где в винде посмотреть нужно? У меня Windows XP SP3. Научным методом тыка было установлено, что кодировка - windows-1251. Но все же вопрос остается открыт: Как узнать кодировку используемой системы windows/linux. Возможно ли Qt научить самого определять кодировку? |
|
RazrFalcon | Дата 14.6.2011, 13:07 |
Настройки QT - Инструменты/параметры/среда/основные. Это не то.Мне всегда хватало: В консрукторе QMainWindow. |
|
Borodeys | Дата 14.6.2011, 13:01 |
Настройки QT - Инструменты/параметры/среда/основные. Использование trUtf8() - удобно, однако, в результате его использования получаем кучу ромбиков со знаком вопроса. Разбираюсь с кодеком. |
|
Litkevich Yuriy | Дата 14.6.2011, 9:53 |
Играл с кодировками и языком в настройках Qt это где такое место?Чтобы использовать строковые константы содержащие символы не Latin-1, нужно указать Qt какая кодировка исходника. Самый простой способ: 1) Кодировка исходника - UTF-8 2) Все строковые константы оборачиваем в функцию trUtf8(), она преобразует строку из UTF-8 во внутреннее представление Qt (QString использует UTF-16). недостаток: строки помещённые в trUtf8 будут попадать в перевод, а иногда это не удобно. Способ по сложнее (писанины больше): 1) Кодировка исходника - "Х" 2)
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 27.4.2024, 10:03 |