В сообщении от Пятница 25 Март 2005 12:55 Alexey I. Froloff написал(a): > * Sergey V Turchin [050325 12:42]: > > > Кракозябры. Как определяется Local в самой Qt? > > Ты ж патчил :-) > > Ничего не изменилось, LC_ALL, LC_MESSAGES, LANG. > > Я-то патчил, но может надо ещё какие дополнительные действия > производить. И потом, это не чистый Qt, а KDE... > > > > А x из gettext берется? > > > Нет, из :menutrans, > > А он возвращает в кодировке текущей локали или прямо то, что в > > переводе ? > Сама строка хранится в кодировке 'encoding', у меня оно > выставлено (автоматом) в koi8-r. А точно кодировка строки соответствует 'encoding' ? Попробуй вместо QString::fromLocal8Bit((const char *)x)) QTextCodec::codecForName('encoding')->toUnicode((const char *)x) или QTextCodec::codecForLocale()->toUnicode((const char *)x) Кстати, по идее можно QSTR укоротить: #define QSTR(x) QTextCodec::codecForLocale()->toUnicode((const char *)x) или #define QSTR(enc,x) QTextCodec::codecForName(enc)->toUnicode((const char *)x) > > Если не перекодирует, то при запихивании в Qt надо > > перекодировать или в menutrans. См. аттач > Как раз и пытается перекодировать (см макрос QSTRING). Где смотреть? > Но неудачно - Local получается latin1... > > > > но тут всё в порядке, во всех остальных гуях работает... > > Возможно они перекодируют, или используют шрифт подходящий. > GTK2 перекодирует в utf-8, Из какой? Qt тоже в UTF-8 перекодирует. > остальные как есть. В KDE насколько я > понял шрифты юникодные используются... Все подряд. -- Regards, Sergey, ALT Linux Team, http://www.altlinux.ru http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08