Сегодня столкнулся с довольно таки забавной проблемой. Установил последнюю бету Skype для Linux под свой openSUSE 11.4 x86_64 и он мне кодировал все символы русской и украинской раскладки в крякозабры во всех полях ввода. Странно, подумал я и решил явно указать локаль в которой следует работать Skype, однако это ничего не дало. И после:
$ LOCALE=ru_RU.utf8 skype &
все не ASCII символы преобразовались во что-то человеко не читаемое. Окей, сказал я и полез в гугл. Оказалось все легко. После предыдущего запуска в консоле остались следующие диагностические сообщения от Skype:
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM: Bad file descriptor
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM: Bad file descriptor
и именно по ним я вышел на решение моей проблемы. Оказалось, что надо всего-то доустановить glibc-locale-32bit
из стандартного репозитория, перезапустить Skype и настанет счастье.
Остается только загадкой почему эту зависимость разработчики скайпа не добавили в RPM-пакет и почему упоминание про нее отсутствует на официальной странице по установке Skype в openSUSE.
Итак, не возможно напечатать не Latin-1 символы в полях ввода в Skype? В консоли выполняем:
$ sudo zypper in glibc-locale-32bit
И проблема решена!