有时,语言环境存档文件 (/usr/lib/locale/locale-archive) 不包含我们要使用的语言环境。
在这种情况下,我们需要创建一个新的语言环境文件,或者通过以下方式从现有的语言环境编译:
# localedef -f [charmapfile] -i [inputfile] [outputpath]
例如:
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
可以忽略警告消息“不兼容 ASCII,语言环境不符合 ISO C”。
即使我们在运行上述命令时收到警告消息,此命令也可以提供适当的语言环境。
该消息意味着“某些字符(通过将 ASCII 转换为我们提到的语言环境提供)不等于转换为 UCS-4 的代码。
例如,'' 和 '^' 是典型的字符UCS-4 不兼容(在 UCS-4 中,'' 是 0x00a5,'^' 是 0x203e,尽管 '' 是 0x5c,而 '^' 在 ASCII 中是 0x7e)。
我们现在可以使用新的语言环境 ja_JP.SJIS。
我们可以通过以下方式检查语言环境是否应用于语言环境存档:
# localedef --list
列出的语言环境可能是小写的,与实际的语言环境名称不同。
请注意,新的语言环境可能会更改文本字符处理规则。
在这种情况下,我们可能需要通过以下方式从语言环境存档中删除语言环境:
# localedef --delete-from-archive [existent_locale_listed_in_localedef--list]
日期:2020-09-17 00:13:07 来源:oir作者:oir