Всем привет. Возникла проблема с локализацией в Qt 4.8.4 у конечного пользователя (продукт Windows only).
В основной программе все сделано по фэн-шую с помощью tr и qm файлов (в tr не используеться кириллица!!!). Динамическое изменение работает на ура.
Но у конечного пользователя не отображается то тайский, то японский язык. С ивритом и арабским как ни странно у все все хорошо
И ради теста написал маленькую утилиту с разными полями ввода Qt и тестовым выводом (
http://www74.zippyshare.com/v/39453145/file.html).
В данном случае я тестировал тайский.
На моей машине понятное дело все хорошо (Windows 7 SP1 x64)
http://myprintscreen.com/s/1370443845.72045383.pngУ конечных пользователей происходит такое
Windows 7 SP1 x64
http://myprintscreen.com/s/1370444007.21877715.pngWindows XP SP3 x86
http://myprintscreen.com/s/1370445975.99039718.pngВо время тестов на одной из машин сотрудника словили интересный баг (Windows 7 SP1 x64)
http://myprintscreen.com/s/1370444305.72579412.pngУстановили тайскую раскладку. Notepad++ и Word 2010 спокойно отображают напечатанный текст. Ни одно из полей ввода Qt (QTextEdit, QLineEdit, QPlainTextEdit) не отображает введенный текст. Но если из Microsoft Word 2010 скопировать тайский текст и вставить в QTextEdit то он отображает. Если после этого вводить тайский, то кракозябры. Если же удаляешь хотя бы один из вставленных символов тайского языка, то последующий ввод на тайском все правильно отображает. Мистика
В тестовом примере пытался использовать все возможные комбинации с:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QString::fromUtf8
tr
trUtf8
QTextCodec::codecForName("UTF-8")->toUnicode
но результат один и то же.
И вот сижу и гадаю это я где то накосячил или же это проблема Qt?
Подскажите пожалуйста что нужно сделать что бы у всех все одинаково и нормально отображалось