como copiar arquivos do compartilhamento do Windows para o Linux e preservar conjuntos de caracteres

0

Estou fazendo backups manuais de compartilhamentos remotos do Windows para o meu servidor Ubuntu. É tão simples quanto montar os compartilhamentos com o mount -t cifs e rodar o rsync nele.

Meu problema é com acentos ou caracteres especiais, como os arquivos WITHIN do símbolo da moeda EURO (não apenas em nomes de arquivo). Por exemplo, se eu editar / visualizar um arquivo de texto em um host remoto do Windows 7 com, por exemplo, o bloco de notas ou o wordpad, posso ver o símbolo do euro €. No entanto, quando rsync o arquivo para o Ubuntu Linux, o arquivo de texto contém um símbolo estranho em vez do sinal de moeda, se eu visualizá-lo com cat, mc, nano ou gedit.

Eu também tentei mudar o local no Ubuntu, mas não tive sorte. Eu posso digitar o símbolo ruo e criar um novo arquivo de texto com ele bem no host Ubuntu. Então talvez o problema seja com o mount.cifs ou o rsync. Eu li sobre a opção iocharset para montar e tentei alguns valores, mas não tive sorte.

Com o rsync, estou usando apenas a opção -a.

Alguma sugestão? O que posso experimentar / testar?

Obrigado

[ATUALIZAÇÃO 02/2017] No meu sistema Windows 7 eu corri:

chcp
Active code page: 850

No entanto, na minha caixa Ubuntu, o seguinte comando NÃO produz um arquivo a partir do qual eu possa exibir corretamente o símbolo do euro com 'cat' ou 'more'.

sudo iconv -f CP850 -t UTF-8 /Windows/share/README.txt > /tmp/README.txt 

No entanto, este outro comando faz.

sudo iconv -f CP1252 -t UTF-8 /Windows/share/README.txt > /tmp/README.txt 

Por quê?

Infelizmente, não posso rodar o iconv em milhares de arquivos e, além disso, fazer isso após cada rsync.

Descobri que posso evitar executar o iconv ativando a codificação WINDOWS-1252 no Terminal Shell. Em seguida, um 'gato' ou 'mais' no arquivo do Windows exibe corretamente o símbolo do euro.

No entanto, abrir o mesmo arquivo do Windows com gedit através do navegador "Arquivos" no Ubuntu exibe erroneamente o símbolo do euro novamente. Então eu acho que eu deveria ativar o sistema WINDOWS-1252 no Ubuntu (como eu posso fazer isso?) Ou forçar o sistema Windows a usar o UTF-8 (eu também não sei como fazer isso).

    
por user643867 18.01.2017 / 18:31

0 respostas