ISO-8859-3(Latin-3)徹底解説:歴史・対象言語・収録文字とUnicode移行の実務ガイド
概要 — ISO-8859-3(Latin-3)とは
ISO/IEC 8859-3(通称 ISO-8859-3、あるいは Latin-3)は、1988年に標準化された8ビット単一バイトの文字エンコーディングの一つで、主に南ヨーロッパや人工言語の特殊文字を扱う目的で設計されました。ASCII の上位(0xA0〜0xFF)に追加の印字可能文字を割り当てる方式で、制御コード領域(0x00〜0x1F、0x7F〜0x9F)は従来のまま保持します。
歴史と背景
1980年代後半、各言語圏の特殊文字を扱うために ISO/IEC 8859 ファミリーが作られ、Latin-1(ISO-8859-1)に加えて複数の派生が生まれました。ISO-8859-3 はその一つで、主にマルタ語(Maltese)やエスペラント(Esperanto)、その他一部の南欧言語で用いられる文字を収容するために策定されました。標準化後も利用範囲は限定的で、後年の Unicode(および UTF-8)への移行により使用はさらに減少しています。
設計目的と対象言語
- マルタ語(Maltese):Ħ/ħ、Ġ/ġ、Ċ/ċ といった固有文字を含めること。
- エスペラント(Esperanto):Ĉ/ĉ、Ĝ/ĝ、Ĥ/ĥ、Ĵ/ĵ、Ŝ/ŝ、Ŭ/ŭ などのアクセント付き文字を収容すること。
- 南ヨーロッパ圏の一部文字や記号の補完。
なお、トルコ語向けの対応は ISO-8859-9(Latin-5)で行われており、ISO-8859-3 はトルコ語を主目的にはしていません。
技術的な特徴
ISO-8859-3 は単一バイト(1バイト=256通り)のエンコーディングで、0x00〜0x7F は ASCII と互換性を保ち、0xA0〜0xFF に印字可能文字が割り当てられます。0xA0 は通常ノーブレークスペースとして予約されています。コントロール文字領域は既存の ISO/IEC 6429(C0/C1 制御コード)を踏襲するのが一般的です。
主要な収録文字(概観)
Latin-3 は特に以下のような追加文字を含みます(代表例):
- マルタ語固有文字:Ħ(U+0126)、ħ(U+0127)、Ġ(U+0120)、ġ(U+0121)、Ċ(U+010A)、ċ(U+010B)
- エスペラント用文字:Ĉ(U+0108)、ĉ(U+0109)、Ĝ(U+011C)、ĝ(U+011D)、Ĥ(U+0124)、ĥ(U+0125)、Ĵ(U+0134)、ĵ(U+0135)、Ŝ(U+015C)、ŝ(U+015D)、Ŭ(U+016C)、ŭ(U+016D)
- その他ラテン補助文字や一般的な記号・通貨記号など
正確なバイト値と Unicode への対応は、仕様のマッピング表(公式マッピング)で確認できます。
他の ISO-8859 系列との比較
ISO-8859 ファミリーは用途に応じて分化しています。主な差分は収録する言語の文字セットです。
- ISO-8859-1(Latin-1):西欧言語(フランス語・ドイツ語・英語等)向け。最も広く使われた。
- ISO-8859-2(Latin-2):中欧語(ポーランド語・チェコ語等)向け。
- ISO-8859-3(Latin-3):主にマルタ語・エスペラントなど南欧/人工言語向け。
- ISO-8859-9(Latin-5):トルコ語向け。Latin-1 から数文字を差し替え。
こうした分化のため、ある言語/地域に対して最適な ISO-8859 のバリアントを選ぶ必要があり、汎用性は限定されます。これが Unicode への移行が進んだ理由の一つです。
実際の利用状況と互換性
ISO-8859-3 は利用者数が少なく、特に Web の分野ではほとんど見かけません。歴史的には専門的な文書や、特定地域のレガシーシステムで使われることがありましたが、現代のインターネットやソフトウェアでは UTF-8/Unicode に置き換えられることが一般的です。
互換性面では、同じバイト値が別の Latin 系エンコーディングで別文字を意味するため、エンコーディング誤指定(charset の宣言間違い)は文字化けの原因となります。したがってレガシーデータを扱う場合は、元の文字エンコーディングを正確に判定してから変換することが重要です。
Unicode へのマッピングと移行
ISO-8859-3 の各バイトに対応する Unicode コードポイントは、Unicode コンソーシアムが公開しているマッピング表にまとめられています。レガシーの ISO-8859-3 文字列を UTF-8 に変換する際は、このマッピングを用いて正確に対応付けを行います。多くのプログラミング言語やツール(iconv, ICU 等)は ISO-8859-3 のエンコーディング名をサポートしており、自動的に変換が行えます。
Web・WordPress での取り扱い上の注意
現代の Web(とくに WordPress)では、ページ全体を UTF-8 に統一するのが推奨されます。もし古い文書やデータベースが ISO-8859-3 で保存されている場合は、サーバー側で UTF-8 へ変換したうえで配信するのが安全です。meta タグや HTTP ヘッダで charset=ISO-8859-3 を指定すると、対応ブラウザは当該エンコーディングで解釈しますが、互換性や将来性を考えると UTF-8 への移行を検討してください。
まとめ
ISO-8859-3(Latin-3)は、マルタ語やエスペラントなど特定言語の特殊文字をサポートする目的で作られた 8 ビット文字セットです。用途は限定的で、現在は主にレガシーデータの取扱いで遭遇する程度です。文字化けを避けるため、元データのエンコーディングを正確に把握し、可能であれば Unicode(UTF-8)へ変換して運用することを強く推奨します。


