## プレーンテキストを扱う

- デフォルトエンコーディング
- 文字化け
- 文字集合とエンコーディング
- OmegaT での解決方法

## デフォルトエンコーディング

プレーンテキストファイル - 多くの場合 `.txt` 拡張子がつきます - には大抵文字情報しか含まれていません。どういった言語が含まれているかをコンピュータに伝えるための方法は、明確に定義されていません。非常に簡単にいえば、指定されなければコンピュータはコンピュータ自体で使われている言語と同じ言語でテキストが書かれているとみなす、ということ意味します。

## 文字化け

もしあなたがロシア人であれば、ほぼまちがいなくあなたのコンピュータはロシア語環境で動作しているでしょう。つまりロシア語のメニューになっており、開くファイルはロシア語で書かれているといった具合です。ほとんどの場合、コンピュータは一般的なファイルの中身に対して正しい仮定をします。つまり、ファイルの中身はすべてロシア語であり、ロシア語の文字以外は表示できないであろうという、という仮定です。

いま、仮にあなたが日本語を翻訳するロシア人翻訳者だとしましょう。あなたが受け取る日本語のファイルが、もしプレーンテキストだったならば、おそらくコンピュータは、ファイルにはロシア語が含まれているものだと判断するでしょう。なぜなら、ファイルにはどの言語で書かれているかを示すようなコンピュータ向けの情報が含まれていないからです。日本語のファイルが以下のような内容だったとしましょう。

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

しかし、内容はロシア語だろうと予想されているため、テキストエディタは次のように表示してしまうかもしれません。

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

しかし、これはロシア語とはほど遠いもので、あやまって日本語の文字がロシア語の文字で表示されてしまったものです。

OmegaT も例外ではありません。OmegaT では何も指定がなければ、プレーンテキストファイルはシステムのデフォルト設定で表示可能だとされています。たとえば、コンピュータがフランス語環境で動いていてファイルが英語で書かれている、もしくはコンピュータがドイツ語環境で動いていてあなたがイタリア語のファイルを取り扱うならば、うまくいくでしょう。

## 文字集合とエンコーディング

なぜ英語とフランス語ならうまくいって、ロシア語と日本語ではうまくいかないのでしょうか。なぜなら、英語とフランス語では同じ文字集合を割り当てているからです。言い換えると Latin-1、もしくはこのバリエーションがそれにあたります。最近まで、ロシア語と日本語ではどの文字集合も共有してきませんでした。現在ほとんどロシア語の文字集合は日本語をカバーしていませんし、その逆もそうです。その結果が、先にお見せしたとおりです。

日本の顧客は日本語環境のコンピュータを使い、日本語を含んだテキストファイルを作成します。顧客のコンピュータが使用する文字集合はオペレーティングシステムやその他の設定に応じて選ばれますが、選ばれた文字集合（日本語）がロシア語環境のコンピュータによって正しく解釈されることは、まずありえません。

指定された文字集合における文字情報が物理的にどのように転送されるか（つまり、コンピュータが文字を解釈し表示するために使う数値的なコードがなにか）は、エンコーディングに依存します。コンピュータがファイルを読むときは、エンコーディングに従い「解読」し、文字集合に従って表示するのです。おおざっぱに言って、1つのエンコーディングは1つの文字集合に対応します。

## OmegaT での解決方法

OmegaT には、主に3つの解決策があります。いずれも［設定］メニューにある［ファイルフィルタ...］を利用します。

1. `.txt`拡張子がつくプレーンテキストファイルのエンコーディングを指定する方法。［ファイルフィルタ］一覧で［テキストファイル］を選択し、［編集...］を押して表示される［フィルタの編集］一覧で、［原文ファイルのエンコーディング］を<自動>から使用する原文の`.txt`ファイルのエンコーディングに変更してください。
2. プレーンテキストの原文ファイルの拡張子を変える方法（例えば日本語のプレーンテキストなら、`.txt`から`.jp`へ）。［ファイルフィルタ］一覧で［テキストファイル］を選択し、［編集...］を押して表示される［フィルタの編集］一覧で、新しい［原文ファイル名構成例］を追加し（例えば`*.jp`）、原文と翻訳文に対して適切な値を設定してください。
3. ファイルをユニコード（UTF-8）に変更する方法。原文ファイルのエンコーディングを正しく解釈できるテキストエディタで原文ファイルを開き、”UTF-8"エンコーディングで保存しなおしてください。拡張子を`.txt` から `.utf8`に変更してください。OmegaT は自動的にこのファイルをUTF-8ファイルとして解釈します。

OmegaT は、プレーンテキストの取り扱いを簡単にするために、最初から次の短いリストのとおり動作するようになっています。

- OmegaT により、`.txt` ファイルは、 (<自動>)コンピュータのもともとのエンコーディングと同じエンコーディングとして自動的に解釈されます。
- `.txt1` ファイルは 西ヨーロッパ言語のほとんどに対応する ISO-8859-1 エンコーディングとして解釈されます。
- `.txt2` ファイルは中央、東ヨーロッパの言語のほとんどに対応する ISO-8859-2 エンコーディングとして解釈されます。
- OmegaT により、`.utf8` ファイルは（世界中ほとんど すべての言語に対応する）UTF-8 エンコーディングとして解釈されます。

これらは［設定］メニューの［ファイルフィルタ］一覧で［テキストファイル］を選択し、［編集...］を押すと［フィルタの編集］一覧で確認できます。たとえば、チェコ語で書かれたテキストファイル（ほとんどの場合 ISO-9959-2 で書かれているでしょう）を扱う場合、拡張子を `.txt` から `.txt2` に変更するたけで、OmegaT は内容を正しく解釈します。もちろん、安全のため、こうしたファイルはユニコード、つまり .utf8 ファイル形式への変更を検討してもいいでしょう。

法律上の表示 | ホーム | 索引