sirocco |
|
Темы:
29
Сообщения:
2501
Участник с: 25 июля 2007
|
Rarog Надо sudo mount -o utf8,rw,users /dev/sdb1 /mnt |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
У вас флешка монтируется с iocharset=iso8859-1 , и в результате все имена перекодируются в эту самую кодировку, то бишь latin1. А надо в utf8. Отсюда и все проблемы. FAT32 надо монтировать с опцией utf8 |
Rarog |
|
Темы:
10
Сообщения:
188
Участник с: 22 января 2013
|
Всем спасибо, проблема решена. |
vasek |
|
Темы:
48
Сообщения:
11323
Участник с: 17 февраля 2013
|
Вопрос - а если бы у него было выставлено значение LC_COLLATE = C, то проблемы бы были или бы не было? Ведь эта переменная задает порядок сортировки символов, в операциях подстановки имен файлов и в поиске по шаблону (определяет правила сравнения и преобразования строк). И я почему то считал, что правильно указывать LC_COLLATE = C Или я не прав? Проясните мне на будущее.
Ошибки не исчезают с опытом - они просто умнеют
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
vasekБыло бы то же самое. 1) кодировка по-умолчанию выбирается при конфигурации ядра (или модулей поддержки FAT) ПЕРЕД СБОРКОЙ. В официальных сборках ядра там стоит именно эта самая latin1. Если не задать другую кодировку в параметрах монтирования, останется та, что по-умолчанию. Никакие переменные окружения, в том числе и локаль, на ядро НЕ РАСПРОСТРАНЯЮТСЯ. Ядро Linux – это фактически "система в системе", оно работает совсем не так, как юзерспейс. 2) Локаль "C", вообще-то, то же самое, что "нет локали". А без локали никакого юникода не будет, как бы она ни интерпретировалась. Будет всё тот же latin1. 3) LC_COLLATE задаёт не локаль ввода-вывода, а всего лишь локаль сортировки (сравнения строк) в программах, которые что-то сортируют. |
Rarog |
|
Темы:
10
Сообщения:
188
Участник с: 22 января 2013
|
кстати тоже интересует этот вопрос, потому как раньше этой проблемы не было P.S. когда писал, еще не было поста выше. |
vasek |
|
Темы:
48
Сообщения:
11323
Участник с: 17 февраля 2013
|
И все-таки мне не понятно - почему же у меня никогда такого не было (при любой файловой системе). Правда у меня все монтируется автоматом в Nautilus. Где то давно вычитал, что если сразу установить LC_COLLATE = C, и в дальнейшем не менять, то все будет определяться правильно.
Ошибки не исчезают с опытом - они просто умнеют
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Этой проблемы не было, потому что монтировала программа, которая сама подставляла нужные опции при монтировании. А когда смонтировали вручную, никаких опций не указали – и вот вам результат. LC_COLLATE не используется для преобразования строк, только для сравнения. Грубо говоря, она определяет, по какому "алфавиту" будет происходить сортировка. |
vasek |
|
Темы:
48
Сообщения:
11323
Участник с: 17 февраля 2013
|
NatrioВсе ясно. Бум знать. И, как вывод, лучше использовать умные программы, а уж если задумал ручками - то сначала изучить.
Ошибки не исчезают с опытом - они просто умнеют
|