LINUX.ORG.RU

QT recoding from koi8-r to cp1251


0

0

День добрый!
Пытаюсь перекодировать содержимое ячейки в QTable из кои8 в ср1251.
Я разными способами пытался. И через QTextCodec (сначала в юникод, а затем оттуда обратно, другого способа не нашёл), а потом через iconv.
И тем, и другим способом после обратного занесения значения в ячейку
вижу только ????????????   ?????  ?????????   :(
Как быть?
Через iconv просто беру DataSourceTable->text (i, j), подаю её на вход
iconv с соответствующими параметрами. А потом обратно DataSourceTable->setText ( i, j )
Но выводит, как я уже и говорил, вопросы. А буквы русские до перекодировки отображает нормально в ячейке.
Какие ещё дополнительно преобразования надо сделать со строкой, чтобы
получить нормальный результат??

Я не уверен на все 100, но насколько я помню Qt использует уникод для внутреннего представления текста. Соответственно, не важно чего ты туда заносишь и как это все кодируешь в конечно счете должен конвертнуть все в UTF-8.

Попробуй и скажи помогло или нет.

P.S. Точно я не помню, т.к. уже с год Qt не трогал.

svyatogor ★★★★★
()
Ответ на: комментарий от svyatogor

Ну у меня уже получилось ... пришлось перед iconv делать строке local8Bit(), а результат - fromLocal8Bit().
Так получилось.

RomanU
() автор топика
Ответ на: комментарий от RomanU

А зачем использовать иконв?
Ведь есть встроенные функции по работе с разными локалями...

Severus_Zley
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.