ASP 9 (локаль 1251) и русские имена файлов в ext разделе

Автор: Manu Дата: 17.06.2003 13:59 По умолчанию в 9й версии предлагается локаль cp1251.
Я сначала поставил koi8, но OpenOffice не отображал
нормально интерфейсные строки (команды меню и т.д.).
Я предполагаю, что он заточен под 1251...

Установил локаль 1251 всё ОК, но примонтированные разделы
ext2 и 3 содержат файлы с русскими именами.
Они то и не отображаются корректно.
В mount нет опции кодировки для ext.
Что подскажете?
Я понимаю, что это только отображение, но мне нужно
часто перекидывать файлы из одного раздела в другой,
поэтому боюсь утратить что-либо, т.к. объёмы большие.
Спасибо.
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 17.06.2003 18:39zakon У меня ОупенОфис работает с КОИ без проблем!
Верните лучше КОИ8, ext2/3, вероятно и другие, просто пишут 8-битное представление букв!
Если вы сейчас будете писать в cp1251, у вас на системе будут файлы в двух кодировках и вы действительно запутаетесь! Любо переименуйте файлы в своей текущей кодировке! Либо есть дикий способ постоянного геммороя!
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 05:01Woodoo Сегодня столкнулся с этой же проблемой. Раньше не было повода задуматься. ;-)
Как вариант - сливать файлы перед сменой локали на фат или сетевой ресурс. На cdr/cdrw.
Хотя конечно бы подмаунтить временно раздел с другим параметром было бы полезно. Или --bind.
- вернуться на старую локаль
- слить файлы
- установить новую
- вернуть файлы на место
Имхо, коряво это.
Может, кто изящнее решение подскажет.
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 07:00stark Напустить скрипт, который дерево каталогов начиная с ".", смотрит на все русские буквы и меняет их кодировку... Скрипту давать кодировку, в которой находятся файлы, пусть сам смотрит, что за локаль стоит. Скрипт написать самому. Вы ж администраторы.
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 10:47Raynor присоединяюсь к проблеме (RH7.3)
у меня локаль стоит en_US
значит, именно это влияет на отображение имен файлов (в konqueror, mc) на ext?
c vfat проблем нет, там iocharset решает проблемы
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 12:25zakon На отображение имен и текстовой биллиберды влияет загруженый фонт!
На сохранение имен и текстовой биллиберды переменная LC_CTYPE!
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 14:13Raynor а где ее смотреть/править?
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 15:21Woodoo ***
Напустить скрипт, который дерево каталогов начиная с ".", смотрит на все русские буквы и меняет их кодировку... Скрипту давать кодировку, в которой находятся файлы, пусть сам смотрит, что за локаль стоит. Скрипт написать самому. Вы ж администраторы.
***

* Идеальный администратор - Бог. Но, кажется, он форумы не читает. ;-)

Самый неприятный момент для скрипта - допустимы ли операции переименования файлов, в именах которых содержатся недопустимые для данной системы символы?
Вероятность сбоя?
Фатального сбоя? Утеря данных?
Как система поведет себя если будет запущен e2fsck?

* отредактировано:
- сделать iso-имидж файл рабочих каталогов (например, /home), пользовать mkisofs с опциями в т.ч. --input-charset=<old codepage>
Возможно, еще использование mkzftree Пожимает плечами или отдельными частями - если критично место на диске.
- mount -t iso9660 ... -o /dev/loopX
- копирование файлов, восстановление владельцев и прав.
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 15:41zakon Простой пример:
запускаю в иксах
xterm

потом:
[zakon@gunnm zakon]$ 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="ru_RU.KOI8-R"
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=

экспортирую в среду LC_CTYPE
[zakon@gunnm zakon]$ export LC_CTYPE=ru_RU.cp1251
запускаю какой-нибудь Иксовый-текстовый редактор (только не gvim)
[zakon@gunnm zakon]$ kwrite
Пишу там "Екстракт!" и сохраняю как "Екстракт!"
перехожу в текстовую консоль запускаю там
[zakon@gunnm zakon]$ ls *\!
и что я вижу:
еЙЯРПЮЙР!
[zakon@gunnm zakon]$ cat *\!
еЙЯРПЮЙР!

Вот и думайте нужен ли вам такой гемморой! POSIX разрешает LC_CTYPE разный для разных процессов, но нужно ли вам это, я уверен вы быстро запутаетесь!
Если не поняли читайте:
[unix.org]
Base Definitions
Locale

ИМХО, либо переходите на уникод(кстати у Plan9 нет переменной LC_CTYPE, догадайтесь почему), либо делайте как все юниксоиды - КОИ8!
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 16:19Raynor да, это уже аргумент...
до сей проблемы я был уверен, что кои мне нафиг не нужен
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 16:45zakon Вполне, может быть, что и не нужно! Но если процесс работает в английской локале, извольте и файлы называть по-английски, а иметь кучу процессов с разными LC_CTYPE, очень не здорово для системы, да и для вас!
Установка того, что не является стандартом, всего лишь делает вашу систему менее совместимой!
Многие люди пытались манипулировать локалями, ни к чему хорошему это не привело!
Re: ASP 9 (локаль 1251) и русские имена файлов в ext разделе 18.06.2003 19:31Raynor у меня все имена английские, я же программер Улыбка
но есть некоторые офисные папочки с плодами от WinWord, понятно наверное...
в основном все такое держу на vfat - очень удобно
проблема - с ext
манипулировать локалями я не собираюсь, конечно, зачем чесать ухо ногой
поставлю CP1251 локаль, не знаю чем КОИ более совместимая чем она (в отношении винда-линукс), лана, забьем этот флейм из другой темы Улыбка
RSS-материал