1

У меня есть проблема, которую я даже не знаю, с чего начать искать помощь (Google не помогает)

У меня есть внешний жесткий диск, отформатированный как Mac OS Extended (в журнале). Я использовал его с моим Macbook OS X в течение долгого времени. На этом жестком диске много файлов с корейскими символами.

Недавно я приобрел новый компьютер и установил на него Xubuntu 11.04 вместе с поддержкой корейского языка. С помощью графического интерфейса я могу подключить внешний жесткий диск и видеть только те файлы, которые не имеют названия на корейском языке. Те, которые названы на корейском, даже не появляются. Теперь, если я захожу на жесткий диск через командную строку и ls этот диск, я получаю список корейских файлов с их корейскими именами, но только после сообщения об ошибке для каждого из этих файлов, которое выглядит как "ls: нет доступа: нет такого файла или каталога ".

Теперь вернемся на мой Mac, если я переименую корейский файл в английское имя, файл не будет виден без проблем на моей машине с Linux. Кроме того, если я затем переименую файл на корейское имя на моей машине LINUX (помните, у моей машины linux также есть поддержка корейского языка), то у машины linux нет проблем с распознаванием или чтением его, но теперь MAC не сможет распознать файл. То есть, если я сейчас зайду с моим Mac и попытаюсь открыть файл через графический интерфейс, файл (на самом деле это каталог) будет пустым. Если я пытаюсь войти в файл через командную строку, он говорит, что выдает ошибку "нет такого файла или каталога". Но выполнение ls дает ошибок.

Короче говоря, кажется, что если я попытаюсь назвать файл с иностранным языком на моем Mac, мой Linux не распознает его, и если я попытаюсь сделать это с моим Linux, мой Mac не узнает его. Единственный способ для двух компьютеров иметь возможность использовать внешний жесткий диск, если все файлы названы на английском языке. Я хочу избежать переименования моих сотен корейских файлов в английские имена. Есть ли кто-нибудь, кто знает, что здесь может происходить, или указывает мне направление, которое может помочь мне справиться с этим?

Спасибо! Bryan

1 ответ1

1

Кодировка имен файлов?

Perl видит корейские имена файлов?

perl -e 'opendir(D, ".");while($f=readdir(D)){print "--$f--\n";}'

Если он показывает имена файлов (или некоторые их нераспознаваемые искаженные версии), вы можете решить, если это проблема с кодировкой. Корейские кодировки включают в себя KS X 1001, EUC-KR и ISO-2022-KR. Однако я считаю, что и OSX, и Linux обычно используют UTF-8.

Смотрите этот ответ, который говорит

Файловая система OS X HFS+ требует, чтобы все имена файлов были сохранены в представлении UTF-8 их полностью разложенной формы.

Существуют инструменты для преобразования кодировок файлов, но вам нужно убедить обе операционные системы использовать общую кодировку.

Посмотрите этот вопрос, описывающий кодировки имен файлов Linux.

Я запустил в convmv -f UTF-8 -t UTF-8 и обнаружил, что эти 500 имен файлов не кодируются в UTF-8 (convmv может обнаруживать и игнорировать имена файлов, уже существующие в UTF-8)

Есть ли простой способ узнать, какую кодировку языка они используют в настоящее время?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .