Что-то у меня в ReiserFS не воспринимаются русские буквы... [solved]

Поздаю файл в Krusader2 с русскими буквами - они заменяются на вопросы. (аналогично создавая из Konqueror'a).

Что-то я то ли забыл прописать, то ли ещё чего..

Вот эти конфиги приведу, может понятно по ним чего станет:

localhost ~ # cat /etc/env.d/02locale
LC_ALL=""                            
LANG="ru_RU.CP1251"                  
LC_NUMERIC="POSIX"
LC_MESSAGES="POSIX"

localhost ~ # 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=

Куда смотреть-то?

Это я на новой системе проблемы устраняю. В старой (которую не обновлял год или больше) ни с чем подобным я не сталкивался... А тут.. даже файлы с русскими буквами не создаются :) (не создаются-то - фиг с ними, но и прочесть невозможно если есть такие на других reiserfs разделах...).

В LC_ALL тоже можно локаль

В LC_ALL тоже можно локаль указать

Вот неудачная попытка

Вот неудачная попытка указания:

localhost ~ # cat /etc/env.d/02locale                                      
LC_ALL="ru_RU.CP1251"                                                      
LANG="ru_RU.CP1251"                                                        
LC_NUMERIC="POSIX"                                                         
LC_MESSAGES="POSIX"

localhost ~ # env-update && source /etc/profile                         
>>> Regenerating /etc/ld.so.cache...                                    
-su: warning: setlocale: LC_ALL: cannot change locale (ru_RU.CP1251) 

localhost ~ # locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES 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="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
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=ru_RU.CP1251

Вот здесь: http://www.gentoo.org/doc/en/guide-localization.xml
как-то не очень оптимистично написано про LC_ALL :)

Цитата:
Warning: Using LC_ALL is strongly discouraged as it can't be overridden later on. Please use it only when testing and never set it in a startup file.

Этот конфиг (с отсутствующим LC_ALL) был взят с рабочей системы..

На НЕ reiserfs разделах с

На НЕ reiserfs разделах с русскими названиями все нормально?

Мне хотя бы reiser вначале

Мне хотя бы reiser вначале отладить :)

Вы знаете, я совсем сейчас нифига не пойму, что у меня в системе творится. В ядре указал поддержку различных ФС (многие по дефолту уже были) ntfs, vfat.
Сейчас монтирую - нифига из виндозных не монтируется, ФС не опознаёт... хз чё тут ваще происходит и чего он не цепляет эти модули файловых систем. Как будто ядро и не собирал :)

.

WXP написал(а):
Мне хотя бы reiser вначале отладить :)

Вы знаете, я совсем сейчас нифига не пойму, что у меня в системе творится. В ядре указал поддержку различных ФС (многие по дефолту уже были) ntfs, vfat.
Сейчас монтирую - нифига из виндозных не монтируется, ФС не опознаёт... хз чё тут ваще происходит и чего он не цепляет эти модули файловых систем. Как будто ядро и не собирал :)

Дык возьми конфиг от рабочего ядра.

:wq
--
Live free or die

С ядром уже всё впорядке! Там

С ядром уже всё впорядке! Там немного опций под замену было, уже всё сделал..

А может стоить перестать

А может стоить перестать страдать фигней и использовать нормальную кодировку?

ru_RU.UTF-8

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

Да может и стоит. Только как

Да может и стоит. Только как быть с нашими братьями виндозными? :) Они ведь фиг прочтут такие файлы..

Прочтут нормально.

Прочтут нормально.

Общаюсь как с "виндузоидными

Общаюсь как с "виндузоидными братьями", так и с маководами. И локаль utf-8 этому никак не мешает

Ну одно дело подготовленные

Ну одно дело подготовленные пользователи, а другое дело такие, которым прийдётся час втирать на какую кнопочку нажать, чтобы прочесть мой долбанный файл.. И таких, к сожалению, не мало. :(

как системная локаль cp1251

как системная локаль cp1251 Вам поможет в этом случае?
При "общении с виндозными братьями" проблема с кодировкой может встать только в plain текст файлах, но в этом случае всеравно notepad откроет Ваши файлы исковеркаными из-за юниксовых концов строк. Лучше перейти на utf8 (например изза того, что новые версии cups не будут работать с кодировкой отличной от utf8).

Перейти крайне тяжко и

Перейти крайне тяжко и геморно. Я веб разработчик. Огромная куча сайтов. Их все прийдётся перелопачивать в другую кодировку, все перегружать. А ведь все они не на одном сервере... это ещё на год работы вперёд.

Я фигею... Какое отношение

Я фигею...
Какое отношение кодировка сайтов(файлов и прочего) имеет к системной локали?

Походу я не понимаю о чём

Походу я не понимаю о чём речь идёт :)
Я имел ввиду кодировку всего - всех моих файлов и т.д. и т.п.

А что относится к локали? :) где используются настройки из "/etc/env.d/02locale"?
тут:
http://www.gentoo.org/doc/ru/guide-localization.xml
http://www.gentoo.org/doc/ru/utf-8.xml
как-то не очень понятно для чего именно мы это делаем, а точнее ЧТО именно и как будет использовать эти наши параметры..

Кстати, а не знаете ли

Кстати, а не знаете ли случаем.. Какая системная кодировка у MacOS X?

.

WXP написал(а):
Кстати, а не знаете ли случаем.. Какая системная кодировка у MacOS X?

Проблемы индейцев шерифа не ... еб.т.

:wq
--
Live free or die

Ну.. я на будущее :)

Ну.. я на будущее :)

По теме у меня тут

По теме у меня тут выяснилось.

В ядре действительно не была включена поддержка CP1251 и 866. Включил и то, и другое. Пересобрал. Теперь хоть флэшки монтируются (там явное указание cp1251 при монтировании).

Но создать файл с русским именем по-прежнему не получается. Может мир и действительно перешёл уже на utf-8, что поддержки всяких cp1251 тут нет. Сейчас попробую.

Для того, чтобы перейти на utf-8 вот этого достаточно будет?

localhost env.d # cat /etc/env.d/02locale
LC_ALL="ru_RU.UTF-8"
LANG="ru_RU.UTF-8"
LC_NUMERIC="POSIX"
LC_MESSAGES="POSIX"

localhost env.d # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
localhost env.d #

Сделал. Абсолютно аналогичная реакция. Все русские символы в именах заменяются на вопросы.

Хотя не, я ошибся. Пол беды

Хотя не, я ошибся. Пол беды действительно решено! И файлы с русскими именами теперь создаются и не заменяются на вопросы.

Зато теперь русскоязычные имена с другого раздела (райзера) выглядят терь так:
/home/user/dir/������
раньше хоть выглядили просто корявыми символами, но символами, а сейчас что-то совсем непонятное :)

Раньше можно было хотя бы входить и запускать корявые файлы, а терь и это делать нельзя..

И опять

WXP написал(а):
теперь русскоязычные имена с другого раздела (райзера) выглядят терь так:
/home/user/dir/������
раньше хоть выглядили просто корявыми символами, но символами, а сейчас что-то совсем непонятное :)

man convmv

:wq
--
Live free or die

Т.е. без принудительного

Т.е. без принудительного конвертирования у меня и не должен текущий райзер видеть русские имена другого?

При обоих кодировках 1251 однозначно должен.. проверял. Но и в данный момент когда у меня была 1251 она почему-то не видела их.. что-то кажется мне, что проблема абсолютно в ином.

PS просто система рабочая и не уверен я в convmv. Вдруг что пойдёт не так, все данные похерит...

/

WXP написал(а):
PS просто система рабочая и не уверен я в convmv. Вдруг что пойдёт не так, все данные похерит...

convmv сначала спрашивает. Для того, чтобы он реально менял данные на файловой системе необходимо указать отдельную опцию.
Это такой намёк: сначала смотришь что он собирается делать, проверяешь. И только потом говоришь: изменить.

ЗЫ: Бэкап никто не отменял.

:wq
--
Live free or die

Вот моя попытка на

Вот моя попытка на райзере:

$ convmv -f cp1251 -t utf-8 *
Your Perl version has fleas #37757
Starting a dry run without changes...
Skipping, already UTF-8: ./������ ���������� ����� � �������
Skipping, already UTF-8: ./������ ���������� ����� � �������_1
No changes to your files done. Use --notest to finally rename the files.

Кстати, а на райзере они случаем может уже хранятся в ютфе?

Почему convmv мне говорит, что эти папки уже в ютфе, но ни войти и ничего с ними сделать совершенно невозможно... Чего делать-то?? :)

вот этот раздел, /etc/fstab:
/dev/sda6 /mnt/gentoo1 reiserfs noatime 0 1

Да...

WXP написал(а):
Для того, чтобы перейти на utf-8 вот этого достаточно будет?

localhost env.d # cat /etc/env.d/02locale
LC_ALL="ru_RU.UTF-8"
LANG="ru_RU.UTF-8"
LC_NUMERIC="POSIX"
LC_MESSAGES="POSIX"

localhost env.d # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
localhost env.d #

Сделал. Абсолютно аналогичная реакция. Все русские символы в именах заменяются на вопросы.

Кто бы сомневался...
RTFM начиная с Хэндбука.
И далее со всеми остановками:
http://www.gentoo.org/doc/ru/guide-localization.xml
http://www.gentoo.org/doc/ru/utf-8.xml

:wq
--
Live free or die

Кстати, а почему у меня

Кстати, а почему у меня вообще нет cp1251 в списке всех локалей?

localhost ~ # locale -a | grep ru_RU
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8

Попытка добавить вот так:

localhost ~ # localedef -i ru_RU -f CP1251 ru_RU.CP1251
localhost ~ # locale -a | grep ru_RU
ru_RU
ru_RU.cp1251
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8

Опа. Вот это решение и

Опа. Вот это решение и оказалось рабочим!

Оказалось такой локали у меня и не было :) Solved!!

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

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