![]() |
|
|
![]()
|
|
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
При передаче используется класс QByteArray.
Кутя же при такой операции, юникод превращает в cp1251 зачем-то.
Ну во всяком случае если на принимающей стороне сделать конвертацию cp1251 to UTF8, то получается русский текст. Но это же не вариант, что например будет с символами которые не представлены в cp1251. Это сообщение отредактировал(а) hexzo - 30.9.2011, 10:35 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
hexzo, а документацию почитать слабо?
Я бы написал так:
Это сообщение отредактировал(а) bsa - 30.9.2011, 10:37 |
|||
|
||||
| hexzo |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
bsa
Какой раздел?
А как обратно извлечь из QByteArray юникод? Это сообщение отредактировал(а) hexzo - 30.9.2011, 10:58 |
||||
|
|||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Такой способ не работает.
|
|||
|
||||
| hexzo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
А проблема вовсе оказалась в другом.
Я не понял, почему юникодовый строковый литерал из юникодового документа нужно конвертировать в юникод, но иначе кракозябры.
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Тут на эту тему уже две страницы в теме "Абракадабра в ComboBox" наплодили.
QString::fromUtf8() или tr()/trUtf8() нужно использовать независимо от того где строловая константа нужна - в GUI или в сети или где-то ещё |
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
QString
Добавлено через 5 минут и 15 секунд
Потому что когда был придуман язык С (предок С++) о русских (как и о других национальностях) никто не думал. А потом, у тебя литерал не юникодовый - просто набор байтов. Юникодовым он будет если ты добавишь символ L перед строкой: QString = L"русский язык"; Без этого применяется кодек заданный QTextCodec::setCodecForCStrings(). |
||||
|
|||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |