迁移到 UTF-8 语言环境时,用于导入或导出数据的方法取决于文件类型。
纯文本文件没有明确标识文件的字符编码。如果这些文件不属于 UTF-8 编码,则需要进行转换。例如,您可以运行以下命令将采用繁体中文 big5 编码的纯文本文件转换为 UTF-8:
$ iconv -f big5 -t UTF-8 inputfilename > outputfilename
文本编辑器应用程序可以自动读取和写入字符编码文本,您也可在打开或保存文件时明确指定编码。要启动文本编辑器,请选择 "Launch"(启动)→"Applications"(应用程序)→"Accessories"(附件)→"Text Editor"(文本编辑器)。
UFS 或 ZFS 等文件系统将文件名和目录名存储在您使用的字符集中。如果您使用非 UTF-8 语言环境,或挂载非 UTF-8 文件系统并移至 UTF-8 语言环境,则文件名中可能会显示乱码。为了解决此问题,可以使用 convmv(1) 将单个文件名、目录树和包含的文件或整个文件系统转换为其他编码。该工具将仅转换文件名,而不会转换文件的内容。
有关更多信息,请参见 convmv(1)手册页。该工具适用于任何文件系统。
此外,fsexam(1) 也可用于此目的。有关更多信息,请参见文件检查器 (fsexam)。
ZFS 是 Oracle Solaris 11 中使用的主文件系统。与其他文件系统一样,ZFS 也使用语言环境的字符集来存储文件名和目录名。对于 UTF-8 字符集,normalization 属性可设置供该文件系统用于比较名称的标准化算法的类型,以免一个目录中有多个实体具有相同的文件名。
如果启用了 utf8only 属性,该文件系统将会拒绝包含 UTF-8 字符集中不存在的字符的文件名。
有关更多信息,请参见 zfs(1)手册页。
有关更多信息,请参见与其他平台的互操作性