# Wrong russian input encoding in a QT program [solved]

## Alice in W

Добрый день. Возникла проблема с qt-шной программой, русские буквы выводятся правильно, на cp1251, при общесистемной KOI-8, а вводить никак не хочет. Какие файлы отвечают за работу перекодировщика, и куда ещё можно копать, кроме rc.conf и 00basic'а? Выделить-вставить работает, а напрямую - никак.Last edited by Alice in W on Mon Apr 25, 2005 11:32 am; edited 1 time in total

----------

## ClieX

Запости locale.

LC_ALL="ru_RU.koi8r" tool - тоже не прокатывает?

----------

## Alice in W

Ну локаль-то вот она, ничего альтернативного:

 $ locale

LANG=ru_RU.KOI8-R

LC_CTYPE="ru_RU.KOI8-R"

LC_NUMERIC="ru_RU.KOI8-R"

LC_TIME="ru_RU.KOI8-R"

LC_COLLATE="ru_RU.KOI8-R"

LC_MONETARY="ru_RU.KOI8-R"

LC_MESSAGES=C

LC_PAPER="ru_RU.KOI8-R"

LC_NAME="ru_RU.KOI8-R"

LC_ADDRESS="ru_RU.KOI8-R"

LC_TELEPHONE="ru_RU.KOI8-R"

LC_MEASUREMENT="ru_RU.KOI8-R"

LC_IDENTIFICATION="ru_RU.KOI8-R"

LC_ALL=

Забыла ещё указать, что у меня джента - 1.4 3.2.3-r3  :Smile: 

И какой будет смысл делать LC_ALL="ru_RU.koi8r", если можно конкретней, просто не хочу чего-то с кондачка делать вслепую, так как в основном всё хорошо работает, без сучка-задоринки?

----------

## hermes_jr

 *Alice in W wrote:*   

> 
> 
> И какой будет смысл делать LC_ALL="ru_RU.koi8r"

 

Это он имел в виду что надо прогу которая глючит запускать из терминала командой:

```

LC_ALL="ru_RU.KOI8-R" LANG="ru_RU.KOI8-R" program_name

```

Где program_name - имя проги. А lang это я от себя добавил, думаю не повредит  :Smile: 

PS: nls в USE-флагах есть?

----------

## Alice in W

nls  стоит железно, но ставила руками, в портежах её нет, совсем свеженькая - это раз; (конкретно - qt-фейс к словарю Multitran)

запустила с указанными параметрами - два, профиль тот же  :Smile: 

не вижу смысла копать что-то под KOI-8, так как он тут не причём, имхо, поскольку русский в этой программе работает в кодировке ru_RU.cp1251 (она просто установлена в системе, в куче), а надо дышать в сторону перекодировщиков (с чем их едят, и какие файлы за них отвечают - не знаю). Потому и спрашиваю. А может вообще оказаться что-то третье-десятое. Переходить на общесистемную cp1251 не собираюсь.

----------

## viy

Мне кажется, что это проблема конкретной программы. Если программа жестко завязана на win-1251, я бы запускал ее так:

```
LANG=ru_RU.CP1251 <прога>
```

Таким образом вся забота на корректное перекодирование символов ложится на glibc и Хы (я думаю, что ввод/вывод символов должен быть корректен --- не проверял). Надо также убедиться, что локалка ru_RU.CP1251 (как и другие используемые) присутствуют в системе.

Позволю себе намекнуть на другой словарик (хоть это и не решение проблемы). Есть такой stardict (в портах имеется), который хоть и тянет за собой почти весь gnome, однако работает здорово. Я только ради него и иду на такие жертвы, как пол-gnome  :Wink: 

----------

## hermes_jr

 *Alice in W wrote:*   

> nls  стоит железно, но ставила руками, в портежах её нет, совсем свеженькая - это раз; (конкретно - qt-фейс к словарю Multitran)
> 
> 

 

Хорошая шутка. Долго смеялся  :Wink: 

Тогда так:

```

# emerge info

```

в студию

----------

## Alice in W

 *viy wrote:*   

> Мне кажется, что это проблема конкретной программы. Если программа жестко завязана на win-1251, я бы запускал ее так:
> 
> ```
> LANG=ru_RU.CP1251 <прога>
> ```
> ...

 

ДА! Заработало! Спасибо! (куды б мы, женщщыны, без светлых ваших умов  :Smile: ))! И как всегда - просто.

зы - мне этот словарик по душе пришёлся именно потому, что кроме библитек особенно ничего не тянет (кроме базы своей), ну и исторически сложилось, что пока выбирала - он сам как-то возник  :Smile:  ну и разработчик - отечественный, альтовец. кроме того, сама пол-жизни потратила, чтобы отвязаться от гномовских приложений, так что - спасибо  :Smile: 

----------

## viy

 *Alice in W wrote:*   

> куды б мы, женщщыны, без светлых ваших умов 

 

 :Embarassed:  А мы тут, знаете, плюшками балуемся...

----------

