Проблемы с локалью CP1251..

Как-то столкнулся я с проблемой кодировки в MySQL:
http://gentoo.ru/node/6790

Отчаявшись, решил локализовать систему в кодироку CP1251. Чего-то улучшилось.. По крайней мере в консоли можно в MySQL таблицы добавлять значения с русскими символами и считывать корректные значения, не прибегаю к использованию инструкции "set names 'cp1251'".
(поскольку данные у меня в кодировке 1251). А раз данные у меня виндозные, в 1251, то будучи моя система в 1251 - с ними поудобнее работать.

Но! Начались проблемы с софтом. То ли с точки зрения софта КОИ8-р "распространённее" 1251??
mplayer говоривший по-русски, после смены на 1251 локали - стал говорить (видимо) кодировкой utf8.
Причем такое:
LANG="en" mplayer
не спасает.. Кстати, а почему?
Как ему указать, чтобы говорил хотя бы по-английски?

При команде locale выдаются странные 2 ошибки:

denis@gentoohost ~ $ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ru_RU.CP1251
LC_CTYPE="ru_RU.CP1251"
LC_NUMERIC=POSIX
LC_TIME="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.CP1251"
LC_NAME="ru_RU.CP1251"
LC_ADDRESS="ru_RU.CP1251"
LC_TELEPHONE="ru_RU.CP1251"
LC_MEASUREMENT="ru_RU.CP1251"
LC_IDENTIFICATION="ru_RU.CP1251"
LC_ALL=

это нужно фиксить или можно забить? (-:

Видимо криво

Видимо криво поставил
LC_NUMERIC=POSIX
LC_MESSAGES=POSIX
Переконфигурируй локаль поновой!

а в чём

а в чём "кривость" этих значений?
уже даже glibc пересобирал, а ошибки остаются.
Эти строки я прописал в /etc/env.d/02locale.

MPlayer пересобрал с LINGUAS="en ru" и он заговорил по англицки. Хоть так и то неплохо.

Вообще-то, по

Вообще-то, по хэндбуку не рекомендуется ставить эту локаль:

http://www.gentoo.org/doc/ru/guide-localization.xml
Предупреждение: При желании вы можете выбрать и раскладку клавиатуры для кодировки cp1251 (например, ru_win). Однако в этом случае придётся отыскать или самостоятельно изготовить таблицу перекодировки (mapscreen) cp1251->cp866.

Если принимать во внимание это сообщение, то все проблеммы связынные с применением этой локали полностью ложаться на самого пользователя этой локали.

А вот еще Инфа из хэндбука (для размышления):

О кириллических кодировках

В условиях России и некоторых других стран бывшего СССР локализация осложняется множественностью наборов символов (charsets), используемых для представления алфавитов, основанных на кириллице. Причём для Unix-систем получили распространение минимум три таких набора, в просторечии именуемых кодировками: традиционная для свободных Unix-клонов (в том числе и Linux) кодировка KOI8-R, кодировка ISO-8859-5 (именуемая кодировкой ГОСТ), используемая в проприетарных Unix-системах, и кодировка CP1251 (или кодировка Windows). Кроме того, для обеспечения экранного вывода используется кодировка CP866 (или кодировка DOS). Наконец, в последнее время всё большую популярность получает кодировка UTF-8.

В Gentoo Linux штатно (как говорится, из коробки) поддерживается кодировка KOI8-R, и всё сказанное ниже относится именно к ней. Локализацию для кодировок ISO-8859-5 или CP1251 пользователь может выполнить самостоятельно, получив из независимых источников некоторые дополнительные компоненты. О локализации для кодировки UTF-8, призванной унифицировать подход к интернационализации, будет говориться в следующих версиях этого документа, когда использование её станет общепринятым.

Коммент: CP1251 - пользователь может выполнить самостоятельно, получив из независимых источников некоторые дополнительные компоненты - т.е. скорей всего надо скачать кой-какие шрифты для полной поддержки этой локали. Где взять - ну черт его знает? Я лично пользую UTF-8 KOI8-R. Мне пока хватает! Возникнет острая необходимость, буду решать эту проблему. Вообще-то мне кажется что наверняка уже кто-то порешил эту проблему для себя. Посмотри на форуме сообщения за 2005-2006 года, наверно даже и ссылки на источники выложены!

Удачи!

В /etc/locale.gen

В /etc/locale.gen должна быть строка ru_RU.CP1251 CP1251.
В /etc/env.d/02locale:
LC_ALL=""
LANG="ru_RU.CP1251"

#locale-gen

О спасибо!! Всё

О спасибо!! Всё отлично заработало!!!

Еще

Еще

Отличное

Отличное решение, следует заметить. А когда база будет в utf просто настроим себе утф. База в кои - настраиваем консольку на кои. У меня почемуто консолька в кои. А базы в утф и cp1251 . В консольке все кажет прилично. Команда выглядит так:

mysql --default-character-set koi8r -h dbhost -u vvi -p hinventory.

То биш рубимся под vvi на dbhost к базе hinventory (utf-8). Локаль у нас собсно кои. Кодировку базы (точнее в мускуле своя кодировка на таблицу) не указываем. Само разберется. Чем этот вариант не угодил?

ЗЫ
Этот параметр можно прописать в файлах конфигурации mysql.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".