2015-09-29 4 views
0

Есть ли способ правильно загрузить имена файлов Unicode на S3 с помощью s3cmd с компьютера OS X?Как преобразовать имена файлов Unicode при запуске s3cmd под OS X

Проблема заключается в следующем:

  1. OS X использует NFD имена файлов, Linux/BSD и Amazon использует NFC (для статического файла, служащего).
  2. При использовании rsync я могу указать переключатель --iconv=UTF8-MAC,UTF-8, который выполняет правильное преобразование имен файлов.
  3. Однако при использовании s3cmd преобразование имени файла не происходит, поэтому не-ascii-файлы не могут быть доступны из Интернета (с использованием исходного URL-адреса), так как их имена теперь находятся в форме NFD.

Единственным обходным решением, которое я знаю по этой проблеме, является загрузка файлов на сервер Linux/BSD и запуск s3cmd оттуда.

Есть ли какое-либо решение для этого, которое не связано с использованием хоста Linux/BSD?

+0

Почему вы думаете, что «Linux/BSD и Amazon использует NFC»? –

+0

Я предполагаю, что они используют все, что предоставляется, но, например, если я wget -mirror веб-сайт из любого места в Интернете, я получу имена файлов NFC, а не NFD. Поэтому я не могу загрузить их из OS X, так как ссылки в HTML будут разбиты. – zsero

ответ

2

В качестве альтернативы вы можете посмотреть mc по адресу https://github.com/minio/mc.

mc предоставляет минимальные инструменты для работы с облачными хранилищами и файловыми системами, совместимыми с Amazon S3. Он имеет такие функции, как возобновляемые загрузки, индикатор выполнения, параллельная копия. mc написан в Голанге и выпущен под лицензией Apache v2.

Поскольку «mc» написано в Голанге, мы получаем поддержку родного UTF-8. «mc» доступен для OS X, Windows и Linux.

$ mc cp 本語.txt s3/andoria/ 

Вы можете сообщить о проблемах, если вы найдете на https://github.com/minio/mc/issues. Надеюсь это поможет.