LINUX.ORG.RU

как определить локаль?


0

0

на дисках, записанных в винде, теряются русские названия. тема, конечно, забитая, но мне не удалось найти внятного ответа :( . я пониммаю, чего надобно писать в етцфстабе, но у меня не получается определить локакль. я уже прописывал и koi8-r и koi8-u, и utf8 при iocharset, а букфф все нет :( . только на разных локалях меняются знаки - то это ???, то еще какая то хрень (прямоугольники, кажеться).


Ответ на: комментарий от gena2x

так мне надо локаль, в которой записан CD, а не то, в чем мне хотелось бы, чтобы он был записан.. или это то и есть?

xa3ap
() автор топика
Ответ на: комментарий от xa3ap

Нет, это локаль той консоли что вы работаете. Она должна быть указана как iocharset.

Еще консольный шрифт должен быть этой-же кодировки проверяется вводом echo "чего-нить на русском языке".

gena2x ★★★
()
Ответ на: комментарий от xa3ap

В смысле так:

1.Есть имя файла на диске. Windows, как я понимаю, пишет в уникоде.

2.Дальше ядро берет это имя и преобразует в какую-то кодировку.

3.Дальше программа пользователя берет у ядра и это имя показывает на экране.

По пунктам:

1. Всё понятно.

2. В какую кодировку преобразовывать - общесистемная натройка (IMHO, это кривость). Это указывается через iocharset.

3. Теперь программа получившая имя файла в кодировке iocharset от ядра должна это имя отобразить. Если это xterm (или другая консоль), то: когда ls выводит что-то на экран то он полагает, что этот вывод в кодировке locale. И отображает результат как есть или преобразованным к UTF-8. В первом случае (xterm +lc) при неправильной кодировке шрифта будут кракозяблы. Во втором (xterm -lc) если символов нет в шрифте ИЛИ неверная последовательность - квадратики.

gena2x ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.