Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Racheengel от Декабрь 23, 2008, 14:55



Название: Убрать диактритику
Отправлено: Racheengel от Декабрь 23, 2008, 14:55
Возможно ли средствами Qt "убрать" диакритические знаки у символов строки, т.е. привести национальные символы к соответствующим латинским?

QString::toLocal8bit() в принципе делает то что нужно, НО только в российской системной кодировке.
Не совсем ясно, какой кодек нужно использовать в других локалях (например в немецкой).


Название: Re: Убрать диактритику
Отправлено: Rcus от Декабрь 23, 2008, 12:30
Можно попробовать через декомпозицию (QString::normalized).


Название: Re: Убрать диактритику
Отправлено: Racheengel от Декабрь 23, 2008, 14:52
ок, спасибо, сделал более простым и универсальным способом, тупо через поиск-замену с проверкой кода...

собственно для чего это все надо было: простенький словарик, живет на http://simpledict.net23.net :)


Название: Re: Убрать диактритику
Отправлено: spirit от Февраль 14, 2009, 10:44
ок, спасибо, сделал более простым и универсальным способом, тупо через поиск-замену с проверкой кода...

собственно для чего это все надо было: простенький словарик, живет на http://simpledict.net23.net :)
смотрел сырцы XDXFDict и не понял, почему парсинг XML идет вручную. почему не через QXmlStreamReader? какое-то колдунство с этим связано что-ли?  :)


Название: Re: Убрать диактритику
Отправлено: Racheengel от Февраль 16, 2009, 03:08
ага, там колдунство в том, что кодировка Utf8, а надо было определить физическую позицию начала статей в файле... поэтому и читалось все напрямую с файла.