iocharset=utf8 的用途是什么?

iocharset=utf8 的用途是什么?

iocharset=utf8几乎到处都看到将 Windows SMB 共享安装到 Linux 中的推荐。

我已将 vhdx 文件安装到 Ubuntu VM,我希望确保将来从 Ubuntu VM 写入磁盘的任何文件都可以从 Windows 读取。因此我有两个问题:

  1. 这是啥iocharset=utf8作用呢?
  2. 我是否应该将此选项也应用于 Ubuntu VM 中 vhdx 的 fstab,而不仅仅是 SMB 共享?

答案1

默认Linux 中挂载的字符编码是 iso8859-1。此编码是遗产并且仅支持 256 个字符。所有现代系统都应该使用 utf-8,但我认为出于兼容性原因,默认值为 ISO8859-1。因此,在安装 Windows 共享时添加 iocharset=utf8 总是一个好主意。此外,许多网站在安装时强制执行 filemode/dirmod 777,我认为这是不必要的。我使用的安装命令是,

sudo mount -t cifs //SERVER/FOLDER /mnt/FOLDER -o username=USER,domain=DOMAIN,iocharset=utf8

答案2

iocharset=utf8设置安装驱动器或网络共享时使用的编码。

根据维基百科:

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

它基本上是一个安全功能,只是为了确保 Ubuntu 能够以可读的格式呈现所有文本(正确显示),并以其他操作系统可读的格式保存所有内容。

您当然可以将此选项添加到您安装的任何内容,但除非您遇到文本或文件路径问题,否则无需添加它。

相关内容