web-dev-qa-db-ja.com

iocharset = utf8の目的は何ですか?

Windows SMB共有をLinuxにマウントするときは、iocharset=utf8がほぼどこでも推奨されるようです。

UbuntuにvhdxファイルをマウントしたVMは、Ubuntuからディスクに書き込むすべてのファイルVMが将来Windowsから読み取り可能になることを保証したい。したがって、2つの質問があります。

  1. これはiocharset=utf8が行うことですか?
  2. このオプションを、VM共有だけでなく、Ubuntu SMBのvhdxのfstabにも適用する必要がありますか?
4
adampski

iocharset=utf8は、ドライブまたはネットワーク共有をマウントするときに使用するエンコードを設定します。

ウィキペディアによると:

UTF-8 is a character encoding capable of encoding all possible characters, or code points, defined by Unicode.

Ubuntuがすべてのテキストを読み取り可能な形式で表示し(正しく表示する)、他のOSが読み取り可能な形式ですべてを保存できるようにすることは、ほとんど安全機能です。

もちろん、このオプションはマウントするものすべてに追加できますが、テキストまたはファイルパスで問題が発生しない限り、追加する必要はありません。

4
TheWanderer

Linuxでのマウントの デフォルト 文字エンコードはiso8859-1です。このエンコードは legacy であり、256文字のみをサポートします。最新のシステムはすべてutf-8を使用する必要がありますが、互換性の理由からISO8859-1にはデフォルトが残っていると思います。そのため、Windows共有をマウントするときにiocharset = utf8を追加することを常にお勧めします。また、多くのWebサイトでは、マウント時にfilemode/dirmod 777が強制されますが、これは不要だと思います。私が使用するマウントコマンドは、

Sudo mount -t cifs //SERVER/FOLDER /mnt/FOLDER -o username=USER,domain=DOMAIN,iocharset=utf8
1
Shital Shah