Название: проблема с кодировкой Отправлено: koldun90 от Август 26, 2016, 11:01 Здравствуйте имею проблему с кодировкой символов в ос AstraLinux основанной на debian
привожу код небольшой Код Смысл в том что происходит чтение из файла я читаю из файла закодированного ut8 строку с русскими буквами и затем мне нужно записать эту строку в массив но в массив пишется не русский текст а мусор может кто подскажет какие либо варианты.... Название: Re: проблема с кодировкой Отправлено: kambala от Август 26, 2016, 11:05 а почему ты декодируешь прочитанную строку через fromLocal8bit, если у тебя там UTF-8?
Название: Re: проблема с кодировкой Отправлено: koldun90 от Август 26, 2016, 11:25 я пробовал разные варианты
в том числе и utf8 результат один и тот же в переменную QString dan записываются русские символы нормально а вот в массив df уже нет Название: Re: проблема с кодировкой Отправлено: kambala от Август 26, 2016, 11:34 а как ты проверял, что там неправильно записано? сделал вывод в консоль / посмотрел в дебаггере или именно байты проверил?
Название: Re: проблема с кодировкой Отправлено: koldun90 от Август 26, 2016, 12:23 в дебагере.....
Название: Re: проблема с кодировкой Отправлено: qate от Август 26, 2016, 12:54 for (auto l: QString::fromUtf8(file.readAll()).split("\n")) qDebug() << l;
Название: Re: проблема с кодировкой Отправлено: kambala от Август 26, 2016, 14:45 в дебагере..... русские буквы в UTF-8 кодируются двумя байтами, а у тебя однобайтный массив — неудивительно, что в дебаггере видна белиберда. сравни байты из полученного массива с байтами из файла. |