Windowsでフォーマットして使ってたUSBメモリやUSBハードディスクをUbuntu(Linux)で使おうとすると、文字化けすることがある。GUIでやっていると、自動変換してくれるので気づかないが、コマンド(cui)から使うと文字化けしてびっくりすることがある。
WindowsのUSBメモリをマウントする
例1
sudo mount -o iocharset=utf8,ro /dev/sdc1 /media/sdcard
例2
sudo mount -o codepage=932,iocharset=utf8,ro /dev/sdc1 /media/sdcard
補足
オプション | 説明 |
---|---|
-o | マウントオプションを指定する、オプションが複数ならば"," で区切る |
codepage=932 | (任意)codepage=932はcp932のこと、 cp932はms932とも呼ぶ。Windowsの文字コードです。 |
iocharset=utf8 | Bashの文字コード、文字化けするときは明示する。 |
ro | (任意)read only |
コピーするとatime (アクセスタイム)が更新されるおそれがあるので、ro(read only )でマウントするとベター
iocharsetとは、ls コマンドの実行時に渡す文字コード。
通常、化けているときは、codepageよりiocharsetでlinuxシェル側に変換して見せることを優先する
cp932 codepage=932は?
無くても自動で認識したりする。
2023-06-23
若干記述を変更