Как копировать файлы из общего ресурса Windows в Linux и сохранять наборы символов
Я делаю ручное резервное копирование удаленных общих папок Windows на мой сервер Ubuntu. Это так же просто, как смонтировать общие ресурсы с помощью mount -t cifs и запустить rsync.
Моя проблема с акцентами или специальными символами, такими как символ евро в файлах WITHIN (не только в именах файлов). Так, например, если я редактирую / просматриваю текстовый файл на удаленном хосте Windows 7, скажем, с помощью блокнота или wordpad, я вижу символ евро €. Однако, когда я пересылаю файл в Ubuntu Linux, текстовый файл содержит странный символ вместо знака валюты, независимо от того, просматриваю ли я его с помощью cat, mc, nano или gedit.
Я также попытался изменить язык на Ubuntu, но безуспешно. Я могу набрать символ ruo и создать новый текстовый файл с ним прямо на хосте Ubuntu. Так что, возможно, проблема связана с mount.cifs или rsync. Я читал об опции iocharset для mount и пробовал несколько значений, но мне не повезло.
С rsync я использую только опцию -a.
Какие-либо предложения? Что я могу попробовать / проверить?
Спасибо
[ОБНОВЛЕНИЕ 02/2017] В моей системе Windows 7 я запустил:
chcp
Active code page: 850
Однако в моем окне Ubuntu следующая команда НЕ создает файл, из которого я могу правильно отобразить символ евро с помощью "cat" или "more".
sudo iconv -f CP850 -t UTF-8 /Windows/share/README.txt > /tmp/README.txt
Однако эта другая команда ДЕЛАЕТ.
sudo iconv -f CP1252 -t UTF-8 /Windows/share/README.txt > /tmp/README.txt
Зачем?
К сожалению, я не могу запустить iconv для тысяч файлов и, более того, делать это после каждого rsync.
Я обнаружил, что могу избежать запуска iconv, включив кодирование WINDOWS-1252 в терминальной оболочке. Тогда "кошка" или "еще" в файле Windows правильно отображает символ евро.
Однако, открытие того же самого файла Windows с помощью gedit через браузер "Файлы" в Ubuntu неправильно отображает символ евро снова. Таким образом, я думаю, что я должен либо включить WINDOWS-1252 в масштабе всей системы в Ubuntu (как я могу это сделать?) Или заставить систему Windows использовать UTF-8 (я тоже не знаю, как это сделать).