![]() |
|
|
![]()
|
|
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
Есть приложение, которое в свою очередь запускает некоторый другой процесс, и перенаправляет его вывод в QTextEdit. Все бы ничего, но когда в тексте присутствуют русские символы, то в QTextEdit'e вместо них показывается всякий мусор. Как решить данную проблему?
Заранее спасибо -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
А пробовал так:
? |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
или так
? |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
ни первый, ни второй способы не работают. Кстати, вывод идет от процесса g++
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
может код покажеш или свои кракозяблики. для начала нужно определить в какой кодировке идет текст.
В любом случае нужно копать в сторону QTextCodec ps. может такой код поможет если текст в локальной кодировке
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
При обычном выводе от g++, вместо кавычек, в которые он оборачивает имена переменных и функций идут каракули. Код довольно большой, но ничего необычного там нет. Один класс-обертка читает весь вывод процесса и передает его в QString через сигнал. Второй класс перехватывает этот сигнал и направляет его к виджету вывода, который просто делает textEdit->append(text);
Вот и все в общем. -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
а g++ в какой кодировке текст дает? под виндой или под линухом?
|
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
под linux
Добавлено через 1 минуту и 19 секунд в какой кодировке я и сам не знаю -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
А если попробовать конвертить из юникода?
|
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Перенаправь как-нибудь вывод в файл и запость сюда, мы сразу разберемся что за кодировка. |
|||
|
||||
| anatox91 |
|
||||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
а как? если так
то только создает пустой файл, хотя в консоль выводит -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
|
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Видишь ты наверно это:
В то время как там это:
Utf-8 как ни странно... Это сообщение отредактировал(а) SABROG - 3.2.2009, 22:23 |
||||
|
|||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
SABROG, да, именно так оно и отображается
Добавлено через 3 минуты и 2 секунды кстати путем некоторых экспериментов(по-моему еще одна конвертация в юникод) иногда получалось нормально отображать кавычки после имен, однако кавычки перед именами все равно оставались каракулями -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |