crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Вопрос по кодировкам, Linux + QtGUI + unicode
SemenSemenych
  опции профиля:
сообщение 29.4.2012, 19:49
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 29.4.2012
Пользователь №: 3350

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток. Внимательно читал гугль, внимательно читал ассистант, но видимо сам не понимаю как кратко задатьь свой вопрос по проблеме. Подскажите в какую сторону ковыряться. Проблема следующая.
Linux + QtCreator; Исходники сохранены в UTF-8. Изначально установлены кодеки (для верности вот прям все возможные) --
QTextCodec::setCodecForCStrings, QTextCodec::setCodecForLocale, QTextCodec::setCodecForTr в 
QTextCodec::codecForName("UTF-8");


На форме QWidget русские буквы отображаются замечательно. Проблема начинается когда я в QLineEdit ввожу русские буквы. В слоте QLineEdit.textChanged(QString &arg1);
вот в этом самом arg1 русские буквы оказываются в виде "\2027\2032" и т.д. Естественно потом при добавлении этого аргумента в запрос -- ничего не работает... Полный мрак и засада :( Куда копать-то, что ещё крутить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_math64_*
сообщение 5.5.2012, 11:02
Сообщение #2





Гости








    


Цитата(SemenSemenych @ 29.4.2012, 19:49) *
вот в этом самом arg1 русские буквы оказываются в виде "\2027\2032" и т.д.

А так и должно быть
Это коды букв ЗК в восьмиричном коде - так они отображаются при выводе в qDebug(), а так это нормальные русские буквы.
Если нужно перекодировать в другую кодировку - используй соответствующие кодеки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 5.5.2012, 11:56
Сообщение #3





Гости








    


setCodecForLocale - лишний, читай ассистант
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SemenSemenych
  опции профиля:
сообщение 5.5.2012, 19:55
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 29.4.2012
Пользователь №: 3350

Спасибо сказали: 0 раз(а)




Репутация:   0  


Про Locale знаю. Это уже от безысходности. То есть нормальные русские буквы мне никак там не увидеть, получается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 5.5.2012, 20:17
Сообщение #5





Гости








    


Убери setCodecForLocale. Что значит не увидеть? Увидеть где ? В консоли? В отладчике? В коредампе оО? Опять же какой линукс, про все не знаю а вот например в МСВС у консоли кодировка KOI8-R а в Ubunte UTF-8 (по умолчанию), хотя если codecForLocale не задан это не должно иметь никакой роли и всё должно корректно выводится на системе, в которой локаль поддерживает русские символы или юникод.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 3:50