Название: Отображение строковых констант в русской кодировке без преобразования Отправлено: Normann от Август 07, 2010, 16:24 Столкнулся с такой проблемой: код написан в win-1251, в этом коде в текстовая метка должна отобразить текст (setText()) строковой константы содержащей русский текст, но вместо русского текста она показала абракадабру. Прочитал что все классы работающие с отображением текста работают в юникоде. Пробовал исходный код перекодировать в различные варианты юникода, utf8 не дал желаемого результата, а при кодировках с 16-разрядной и более шириной символа компилятор (g++) сообщает что не понимает содержимого. Вопрос заключается в следующем, можно ли отображать русские символы не прибегая к обертыванию строк в функции пребразования (типа tr()) и не меняя компилятор (и соответственно кодировку исходников, разве что только в utf8)?
Название: Re: Отображение строковых констант в русской кодировке без преобразования Отправлено: Sancho_s_rancho от Август 07, 2010, 17:04 Столкнулся с такой проблемой: код написан в win-1251, в этом коде в текстовая метка должна отобразить текст (setText()) строковой константы содержащей русский текст, но вместо русского текста она показала абракадабру. Прочитал что все классы работающие с отображением текста работают в юникоде. Пробовал исходный код перекодировать в различные варианты юникода, utf8 не дал желаемого результата, а при кодировках с 16-разрядной и более шириной символа компилятор (g++) сообщает что не понимает содержимого. Вопрос заключается в следующем, можно ли отображать русские символы не прибегая к обертыванию строк в функции пребразования (типа tr()) и не меняя компилятор (и соответственно кодировку исходников, разве что только в utf8)? Ну для пользовательских текстовок стандартное средство tr(). Почему вы его избегаете мне не понятно. Ваше дело.Смотрите в сторону void QTextCodec::setCodecForCStrings ( QTextCodec * codec ) [static] Название: Re: Отображение строковых констант в русской кодировке без преобразования Отправлено: Normann от Сентябрь 03, 2010, 07:53 Ну для пользовательских текстовок стандартное средство tr(). Почему вы его избегаете мне не понятно. Ваше дело. Благодарствую, то что нужно.Смотрите в сторону void QTextCodec::setCodecForCStrings ( QTextCodec * codec ) [static] Название: Re: Отображение строковых констант в русской кодировке без преобразования Отправлено: break от Сентябрь 03, 2010, 11:04 У нас в проекте все исходники в UTF8, для русских символов используем QString::fromUTF8() - например при выводе в консоль, больше ничего практически не используем.
|