異なる文字エンコードでディスクを操作する

異なる文字エンコードでディスクを操作する

Windows からコピーした簡体字中国語の文字エンコードのディスクがあります。

そして、中国語繁体字文字エンコードで Centos7 をインストールしました。

1 このディスクをマウントするにはどうすればいいでしょうか?

コマンド ntfs-3g /dev/sdb /mnt/windows -o locale=zh_CN.GBK を使用しましたが、それでもファイル名が乱雑になります。

2 これらのファイルをどのようにコピーすればよいでしょうか?

cp -rコマンドを使用すると、次のように印刷されます。

cp -r /mnt/7 /home/jl/ファイル/7 cp: '/mnt/7/20140206/\275̰\270/\261\270\277\316' は、適用されていないか、または不完全な多元セット フォントまたは寬フォントです。 cp: '/mnt/7/20140206/\275̰\270/֪ʶ\265\343' は、適用されていないか、または不完全な多元セット フォントまたは寬フォントです。 cp: '/mnt/7/20140206/\277Ƽ\274\273' は、適用されていないか、または不完全な多元セット フォントまたは寬フォントです。

これを読んでいないかもしれませんが、これは不適当な文字のため cp が実行できなかったことを意味します(?)

この問題は明らかに OS 内のパス区切り文字が異なるために発生します。

また、convmv -f gbk -t big5 -r --notest /home/jl/文件/7 も試しましたが、どちらも失敗しました。 ここに画像の説明を入力してください

このディレクトリをコピーするには scp を使用する必要がありますか?

答え1

まず、異なるエンコードプロトコルを扱っています。WindowsはUTF-16LinuxとOSXのデフォルトはUTF-8

エンコードをUTF-8Linuxで大量のデータをマウントする際、データは次のようにエンコードされますUTF-16Windows によって。

ファイル名に、UTF-8 で正しく読み取れないマルチバイト文字が含まれているのではないかと思います。一般的なルールとして、バイリンガルのスタッフと仕事をする場合、私はまさにこの種の問題を避けるために、ファイル名には UTF-8 の最初の 128 文字であるアクセントのない文字だけを使用するように指示しています。

ファイル名の文字エンコーディングの違いにより、異なるエンコーディングを持つシステムに TAR バックアップを復元する際に問題が発生する可能性があります。

とにかく、ICU を使用してエンコーディングを変換できます。http://site.icu-project.org/

ありがとう。

関連情報