## 处理纯文本

- 缺省编码
- 显示乱码
- 字符设置和编码
- OmegaT 解决方案

## 缺省编码

纯文本文件——多数情况下其名称以 `.txt` 结尾。扩展名 —— 只包含文本信息。目前还没有明确的办法告诉计算机该文件包含了何种语言的内容。在（非常）简单的情况下，这意味着计算机将会假定该文本写入时使用了计算机所使用相同语言。

## 显示乱码

如果你是俄罗斯人，非常有可能你的计算机也使用俄文工作，菜单是俄文的，你打开的文件也是俄文的等等。在多数情况下，计算机通常使用对文件的内容作出正确的假设：只包括俄文而且俄文字符都能够显示所有内容。

现在，如果你是一位俄国翻译要翻译日文，你将会获得日文文件，如果它们是纯文本 文件，计算机将会认为它们只包含俄文。因为在文件中没有任何信息向计算机指出该文件是用何种语言书写的。日文文件内容可能是：

OmegaTとは、コンピュータを利用した翻訳ツールです。

由于期待内容为俄文，你的文字编辑软件非常可能将它显示为下面这个样子：

OmegaTВ∆ВЌБAГRГУГsГЕБ[Г^ВрЧШЧpВµВљЦ|ЦуГcБ[ГЛВ≈ВЈБB

然而，这绝对不是俄文，它是被错误显示为俄文字符的日文字符。

和其它应用程序一样，OmegaT 也遇到了这个问题。它只能假定默认的 纯文本 文件可以使用系统缺省设置来显示。当计算机的工作环境为法文而所翻译的文件为英文的情况下，或者计算机使用德文而要处理的文件为意大利文时，这没有问题。

## 字符设置和编码

为什么 OmegaT 在英语和法语环境下工作情况正常而在俄语和日语下就不行呢？因为英语和法语共享同一个通用 字符集。名为 Latin-1 或者其它变种。直到最近，俄语和日语还没有通用的字符集。当前绝大多数俄语字符集和日语字符集互不覆盖。结果就是上面你所看到的。

日本客户使用日语计算机，并创建包含日语的文本文件。而客户计算机所选择的字符集取决于操作系统或其他的设置，但所选的日语字符集不太可能被俄语计算机正确识别。

指定字符集的文本信息是如何进行物理转换（即计算机用于解释和显示文本的数字编码是什么）取决于 编码。当计算机读入文件时，它根据编码方式对信息进行“译码”，并采用相应的字符集显示。总体上来说，一种编码往往对应一种字符集……

## OmegaT 解决方案

基本上，OmegaT 中有三种方法来解决这个问题。它们都与 选项 菜单中的 文件管理器 应用程序相关。

1. 给 纯文本 文件——即以 `.txt` 为扩展名的文件——指定编码：在 文件过滤器 对话框的 文本文件 部分，将 源文件编码 从 <自动> 修改为 `.txt` 文件对应的编码。
2. 修改纯文本文件的扩展名（例如，为日文纯文本文件将 `.txt` 修改为 `.jp`: 在 文件过滤器 对话框的 文本文件 部分，新增一个新的 源文件名模式 (比如 `*.jp)` 并为该源文件和目标文件选择对应的参数。
3. 将文件编码修改为 Unicode: 使用能够正确解析编码的文本编辑器打开源文件，并使用 "UTF-8" 编码保存文件。将文件扩展名由 `.txt` 修改为 `.utf8`。 OmegaT 将会自动将文件解析为 UTF-8 文件。

缺省情况下，OmegaT 使用下面的短名单帮助你处理一些纯文本文件：

- `.txt` 文件自动 (auto) 被 OmegaT 以计算机缺省的编码进行识别。
- `.txt1` 文件是用 ISO-8859-1 编码的文件，覆盖了绝大多数 西欧 语言。
- `.txt2` 文件是用 ISO-8859-2 编码的文件，覆盖了绝大多数 中东欧 语言。
- <s0>.utf8</s0> 文件被 OmegaT 以UTF-8编码（一种几乎覆盖了 世界上所有 语言的编码）识别。

可以通过在 选项 菜单中选择 文件过滤器 菜单项来自己看看是不是这样。比方说，当你拿到一份捷克文本文件（非常有可能使用 ISO-8859-2 编码编写），你仅需将扩展名 `.txt` 修改为 `.txt2` ，而 OmegaT 将会正确地解析其内容。当然，如果你希望更加安全，可以将这类文件转换为 Unicode，即 .utf8 文件格式。

法律声明 | 首页 | 内容索引