通常情况下,不指定用于文件名的字符集编码。NFSv3 和 NFSv2 协议没有指定字符集。NFSv4 应该使用 UTF-8,但不是所有的客户机都如此,而且服务器并未实施此限制。如果为共享资源禁用了 "UTF-8 only" 选项,则在不知道文件名编码的情况下会将文件名按原样写入文件系统。这意味着只有使用相同编码的客户机才能解释这些文件名。不过,SMB 要求将文件名存储为 UTF-8,以便在服务器端可以解释它们。这使得无法在允许通过 SMB 进行访问的同时支持任意客户机编码。
要支持这样的配置,可以在共享资源范围内或以客户机为单位设置字符集编码。支持以下字符集编码:
cp932
euc-cn
euc-jp
euc-jpms
euc-kr
euc-tw
iso8859-1
iso8859-2
iso8859-5
iso8859-6
iso8859-7
iso8859-8
iso8859-9
iso8859-13
iso8859-15
koi8-r
shift_jis
默认行为是不指定字符集编码(直通)。BUI 允许通过标准例外列表机制选择字符集。在 CLI 中,每个字符集本身成为了具有一个或多个主机的选项,使用 "*" 表示共享资源范围内的设置。例如,以下示例:
set sharenfs="rw,euc-kr=*"
将以 "euc-kr" 作为默认编码来共享文件系统。以下示例:
set sharenfs="rw,euc-kr=host1.domain.com,euc-jp=host2.domain.com"
为 "host1" 和 "host2" 之外的所有客户机使用默认编码,这两台客户机分别使用 "euc-kr" 和 "euc-jp"。主机列表的格式遵循其他 CLI NFS 选项的格式。
请注意,某些 NFS 客户机无法正确支持备用语言环境;有关详细信息,请查阅 NFS 客户机文档。