本章有选择地描述使用简体中文Solaris操作环境的两个本地化应用软件时所需的特性。 本章还提供了编码转换实用程序的列表。
这些实用程序(和召用它们的指令)包括:
mailx (/usr/SUNWale/bin/mailx)
talk (/usr/SUNWale/bin/talk)
在.mailrc文件中的 <systemitem class="EnvironVar">encoding</systemitem>变量不影响邮寄程序的行为,但它设置mailx的功能。要以非7位ASCII的格式送出电子邮件,例如(8位)简体中文字符格式,必须使用/usr/SUNWale/bin/mailx。在
.mailrc文件中的 <systemitem class="EnvironVar">encoding</systemitem>变量定义了mailx的编码格式。
国际传输惯例要求头栏信息仅采用ASCII字符所表示。所以简体中文字符不能用于邮寄程序或mailx的头栏(包括主题行)。
/bin/mailx应用程序还没被本地化因而无法接收或发送简体中文字符。
要结合使用简体中文字符和talk,必须使用/usr/SUNWale/bin/talk应用程序,因为/bin/talk没被本地化。
简体中文Solaris软件提供了这一BDF字体生成程序:
xtobdf - 将X服务器里的字体转换成BDF里的字体
Sdtconvtool是一个基于图形用户界面在不同字符集之间完成文件转换的工具, 它的功能与iconv相同。
下列步骤显示了如何将一个UTF-8编码的文件转换成GBK编码:
选择文件的字符集
在″源字符集″的标签上敲击鼠标将显示系统中可转换的字符集。用户可以滚 动列表并选择文件的字符集,在这个例子中,选择″UTF-8″。
输入待转换文件的路径名
这一步可以手工地在″源文件路径″字段键入文件的路径名,也可以敲击″浏 览...″键从弹出的文件选择框中选择文件名。在这个例子中,键入或选择 ″/tmp/en_US.UTF-8″。
″浏览...″键右边的″清除″键可以用来清除输入的文件名。
选择文件要转换到的字符集
像第一步那样,从″目标字符集:″标签右边的下拉键中选择目标文件的字符 集信息。此例中选择″GBK″。
输入要被保存的文件路径名
像第二步那样,在″目标文件路径名″字段输入用户要保存转换结果的文件路 径名。此例中输入″/tmp/GBK.all.txt″。
″浏览...″键右边的″清除″键可以用来清除输入的目标文件名。
按″开始转换″按钮将用所给的信息完成转换。
″清除所有字段″按钮将清除源文件和目标文件的路径名。
iconv指令将一个文件里的字符或字符串从一个代码集转换到另一个代码集, 并将其结果写到系统的标准输出装置。简体中文Solaris软件提供了可用于iconv指令的特殊过滤器。
如果一个特定字符的转换并不存在,该字符将被转换成目标代码集中的下划线 "_" 符号。指令支持以下选项:
-f 从......代码 - 输入代码集符号。
-t 到......代码 - 输出代码集符号。
简体中文 Solaris 软件支持以下代码集转换模块。
表 6-1 简体中文 iconv代码转换模块(zh语言环境)
代码 |
符号 |
目标代码 |
符号 |
---|---|---|---|
GB2312-80 |
zh_CN.euc |
ISO 2022-7 |
zh_CN.iso2022-7 |
ISO 2022-7 |
zh_CN.iso2022-7 |
GB2312-80 |
zh_CN.euc |
GB2312-80 |
zh_CN.euc |
ISO 2022-CN |
zh_CN.iso2022-CN |
ISO-2022-CN |
zh_CN.iso2022-CN |
GB2312-80 |
zh_CN.euc |
UTF-8 |
UTF-8 |
GB2312-80 |
zh_CN.euc |
GB2312-80 |
zh_CN.euc |
UTF-8 |
UTF-8 |
GB2312-80 |
zh_CN.euc |
BIG5 |
zh_TW-big5 |
BIG5 |
zh_TW.big5 |
GB2312-80 |
zh_CN.euc |
表 6-2 简体中文iconv代码转换模块(zh.GBK语言环境)
代码 |
符号 |
目标代码 |
符号 |
---|---|---|---|
UTF-8 |
UTF-8 |
GBK |
zh_CN.gbk |
GBK |
zh_CN.gbk |
UTF-8 |
UTF-8 |
GBK |
zh_CN.gbk |
ISO-2022-CN |
zh_CN.iso2022-CN |
ISO-2022-CN |
zh_CN.iso2022-CN |
GBK |
zh_CN.gbk |
GBK |
zh_CN.gbk |
BIG5 |
zh_TW-big5 |
BIG5 |
zh_TW-big5 |
GBK |
zh_CN.gbk |
以下的iconv代码转换模块存放于/usr/lib/iconv:
对于zh语言环境:
zh_CN.euc%zh_TW-big5.so
zh_TW-big5%zh_CN.euc.so
对于zh.GBK语言环境:
UTF-8%zh_CN.gbk.so
zh_CN.gbk%UTF-8.so
zh.CN.gbk%zh_CN.iso2022-CN.so
zh_CN.iso2022-CN%zh_CN.gbk.so
zh_CN.gbk%zh_TW-big5.so
zh_TW-big5%zh_CN.gbk.so
在以下示例,一个EUC邮件文件被转换成ISO 2022-CN:
system% iconv -f zh_CN.euc -t zh_CN.iso2022-CN mail.euc > mail.iso2022-CN |
有关进一步的信息,可参见iconv(3)和iconv_zh(5) 的手册页。这些实用程序可用于打印过程的文件转换。有关进一步的信息,可参见简体中文Solaris系统管理人员手册。