現在、日本語文字コードには JFP で採用している日本語 EUC 、PCK のほかに、JIS コード、UTF8 などがあります。
Sun のネットワーク機能を使って、他のマシンからファイルをコピーしたり、また他のマシンへファイルを転送したりする場合、採用している日本語文字コードが違うとそのままでは文字化けを起こして使用できません。日本語 EUC から JIS コードへ、またはその逆など相互にファイル中の漢字コードを変換するフィルタが、このコード変換フィルタです。
Solaris では、『X/Open Portability Guide Issue 4.2 (XPG4.2)』規定に準拠した iconv コマンドがサポートされています。iconv は次のような書式で使用します。
sun% iconv -f <変換元文字コード> -t <変換先文字コード> [filename...] |
JFP では、この iconv に対応した、日本語文字コード用の変換モジュールを提供しています。iconv に以下のように指定して実行すると、変換が実現されます。iconv コマンドについては、iconv(1) および iconv_ja(5) のマニュアルページも参照してください。また、iconv(3) インタフェースを使用したい開発者の方は、『JFP 開発ガイド』の第 4 章「日本語文字コード変換」もあわせて参照してください。
表 6-1 iconv コマンドによる変換
変換元文字コード |
変換先文字コード |
eucJP |
PCK |
eucJP |
ISO-2022-JP |
eucJP |
ISO-2022-JP.RFC1468 |
eucJP |
JIS7 |
eucJP |
SJIS |
eucJP |
UTF-8 |
eucJP |
UTF-8-Java |
eucJP |
jis |
eucJP |
ibmj |
SJIS |
eucJP |
SJIS |
ISO-2022-JP |
SJIS |
UTF-8 |
SJIS |
jis |
SJIS |
ibmj |
PCK |
eucJP |
PCK |
UTF-8 |
PCK |
UTF-8-Java |
PCK |
ISO-2022-JP |
PCK |
ISO-2022-JP.RFC1468 |
PCK |
jis |
PCK |
ibmj |
ISO-2022-JP |
eucJP |
ISO-2022-JP |
PCK |
ISO-2022-JP |
SJIS |
ISO-2022-JP |
UTF-8 |
UTF-8 |
eucJP |
UTF-8 |
SJIS |
UTF-8 |
PCK |
UTF-8 |
ISO-2022-JP |
UTF-8 |
ISO-2022-JP.RFC1468 |
UTF-8-Java |
eucJP |
UTF-8-Java |
PCK |
JIS7 |
eucJP |
jis |
eucJP |
jis |
PCK |
jis |
SJIS |
ibmj |
eucJP |
ibmj |
PCK |
ibmj |
SJIS |
上記の文字コードの意味は以下のとおりです。
意味 |
|
eucJP |
日本語 EUC |
PCK |
PCK |
SJIS |
PCK と同じ |
ISO-2022-JP |
ISO 2022 情報交換用符号による G0 への指示機能を用いて "UI-OSF 日本語環境実装規約 Version 1.1" の規定に従い表現された、ISO 646 IRV または JIS X 0201、JIS X 0208、および JIS X 0212 |
ISO-2022-JP.RFC1468 |
ISO 2022 情報交換用符号による G0 への指示機能を用いて RFC1468 (Request for Comments: 1468 Japanese Character Encoding for Internet Messages) の規定に従い表現された、ISO 646 IRV または JIS X 0201-1976 (片仮名用図形 (キャラクタ集合を除く) および JIS X 0208-1983 |
JIS7 |
ISO-2022-JP と同じ |
jis |
JLE、JFP 2.4 以前に提供されていた 7 ビット JIS コード |
ibmj |
IBM 漢字コード |
UTF-8 |
UNICODE |
UTF-8-Java |
Java で実装されている UNICODE |
JLE 1.x からの互換性を持つコード変換フィルタのコマンドとして、次のものがあります。
表 6-2 コード変換フィルタコマンド
コマンド |
機能 |
jistoeuc |
JIS コードを日本語 EUC に変換 |
jistosj |
JIS コードを PCK に変換 |
euctojis |
日本語 EUC を JIS コードに変換 |
euctosj |
日本語 EUC を PCK に変換 |
sjtojis |
PCK を JIS コードに変換 |
sjtoeuc |
PCK を日本語 EUC に変換 |
ibmjtoeuc |
IBM 漢字コードを日本語 EUC に変換 |
euctoibmj |
日本語 EUC を IBM 日本語コードに変換 |
ただし、これらには以下の制限事項があるため、通常は iconv(1) コマンドでの使用をお勧めします。
日本語 EUC との変換を行うコマンドでは、JIS X 0212-1990 (いわゆる補助漢字) をサポートしていません。
PCK との変換を行うコマンドでは、『TOG (The Open Group) 日本ベンダ協議会推奨 日本語 EUC・シフト JIS 間コード変換仕様』に基づく変換をサポートしていません。『TOG 日本ベンダ協議会推奨 日本語 EUC・シフト JIS 間コード変換仕様』に関しては、付録 A 「文字コード変換規則」を参照してください。
JIS との変換を行うコマンドでは、更新番号を含むエスケープシーケンスに対応していません。