Java Desktop System 是一个完全支持 Unicode 的多语言系统,它支持 Unicode UTF-8 编码的语言。Java Desktop System 还提供代码集转换功能,以支持传统的(非 UTF-8)编码。本部分介绍在移植到 Unicode 多语言计算时可能遇到的问题。
有多种方法可以导入和导出在移植到 Unicode 多语言计算时会受影响的数据。
Microsoft Office
文件以 Unicode 进行编码。StarSuite
应用程序可以读写用 Unicode 编码的文件。
使用 HTML 编辑器(如 Mozilla Composer
)编写的 HTML 文件(或者是使用 Web 浏览器保存的 HTML 文件)通常包含一个 charset 编码标记。在执行导出或导入之后,您可以根据 HTML 文件中的该编码标记,使用 Mozilla Navigator
Web 浏览器浏览此类 HTML 文件,或者使用 Mozilla Composer
编辑这些文件。
某些 HTML 文件可能显示乱码。此问题通常是由下列原因造成的:
charset 编码标记不正确。
charset 编码标记丢失。
要在 HTML 文件中查找 charset 编码标记,请执行以下操作:
使用 Mozilla
打开文件。
按 Ctrl+i 组合键或单击查看,打开“查看”菜单。
单击页面信息。
charset 信息位于常规选项卡的底部,例如:Content-Type text/html; charset=us-ascii
如果字符串 charset=us-ascii 与文件的实际编码不符,说明该文件可能已损坏。要编辑 HTML 文件的编码,请执行下列操作:
使用 Mozilla Composer
打开文件。
打开“文件”菜单。
选择“另存为字符集”。
选择正确的编码。Mozilla Composer
会根据需要自动转换编码和 charset 标记。
现在的电子邮件都是用 MIME charset 标记进行标记的。电子邮件和日历应用程序支持 MIME charset 标记。您不需要执行任何编码转换操作。
纯文本文件不包含 charset 标记。如果文件不是 UTF-8 编码,则需要进行编码转换。例如,要将繁体中文 big5 编码的纯文本文件转换为 UTF-8,可执行下面的命令:
iconv -f big5 -t UTF-8 inputfilename > outputfilename
还可以使用文件系统检查器
进行编码转换。
可以使用文本编辑器
阅读和编写自动字符编码的文本,或在打开或保存文件时明确指定特定的编码。
要启动文本编辑器
,请单击“启动”,然后选择“应用程序”->“附件”->“文本编辑器”。
如果使用多字节字符的文件名和目录名不是 UTF-8 编码,则需要进行编码转换。可以使用文件系统检查器
将文件名和目录名以及纯文本文件内容从传统字符编码转换成 UTF-8 编码。有关更多信息,请参考文件系统检查器
的帮助。
要启动文件系统检查器
,请单击“启动”,然后选择“应用程序”->“实用程序”->“文件系统检查器”。
在使用文件管理器
通过 SMB 访问 Microsoft Windows 上的非 UTF-8 文件名或目录名时,无须进行编码转换就可访问它们。
对于尚不能移植到 Unicode UTF-8 的应用程序,您可以在前面板中创建启动器,以便在传统语言环境中启动应用程序。也可以直接从命令行启动应用程序。要为应用程序创建启动器,请执行以下步骤:
右击要放置启动器的面板。
选择“添加到面板”->“启动器”。
使用如下格式在创建启动器对话框的“命令”字段中键入条目:
env LANG=语言环境 LC_ALL=语言环境 应用程序名称
例如,若要在中文 Big5 语言环境中启动 /usr/dt/bin 中名为 motif-app 的应用程序,可在创建启动器的“命令”字段中输入如下文本:
env LANG=zh_TW.BIG5 LC_ALL=zh_TW.BIG5 /usr/dt/bin/motif-app
还需要为该应用程序指定正确的 LD_LIBRARY_PATH。
单击“确定”在面板上创建启动器。
如果需要运行特定于某个传统语言环境的 CLI(命令行界面)应用程序,请先在该传统语言环境中打开一个终端
窗口,然后在同一终端
窗口中运行该 CLI 应用程序。要在传统语言环境中打开终端
窗口,请输入如下命令:
env LANG=语言环境 LC_ALL=语言环境 gnome-terminal --disable-factory
通过在当前终端
窗口的“设置字符编码”菜单中更改编码,您可以在该终端
窗口中将语言环境从 UTF-8 切换到传统语言环境,而不必在传统语言环境中打开新的终端
窗口。然后,还必须将 LANG 和 LANG 环境变量设置为当前的 shell。