現在、日本語文字コードには、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(1) および iconv_ja(5) のマニュアルページを参照してください。また、iconv(3C) インタフェースを使用する開発者は、『JFP 開発ガイド』も参照してください。
表 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 |
eucJP | ibm5026 |
eucJP | ibm5035 |
eucJP | ibm930 |
eucJP | ibm931 |
eucJP | ibm939 |
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 |
PCK | ibm5026 |
PCK | ibm5035 |
PCK | ibm930 |
PCK | ibm931 |
PCK | ibm939 |
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 | ibm5026 |
UTF-8 | ibm5035 |
UTF-8 | ibm930 |
UTF-8 | ibm931 |
UTF-8 | ibm939 |
UTF-8 | ms932 |
UTF-8 | UTF-8-ms932 |
UTF-8-ms932 | UTF-8 |
UTF-8-Java | eucJP |
UTF-8-Java | PCK |
JIS7 | eucJP |
jis | eucJP |
jis | PCK |
jis | SJIS |
ibmj | eucJP |
ibmj | PCK |
ibmj | SJIS |
ibm5026 | PCK |
ibm5026 | UTF-8 |
ibm5026 | eucJP |
ibm5035 | PCK |
ibm5035 | UTF-8 |
ibm5035 | eucJP |
ibm930 | PCK |
ibm930 | UTF-8 |
ibm930 | eucJP |
ibm931 | PCK |
ibm931 | UTF-8 |
ibm931 | eucJP |
ibm939 | PCK |
ibm939 | UTF-8 |
ibm939 | eucJP |
ms932 | UTF-8 |
上記の文字コードの意味は以下のとおりです。
表 6-2 iconv で使用する文字コードの意味文字コード | 意味 |
---|---|
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 |
ibm930 |
IBM CCSID (Coded Character Set Identifier) 930 SBCS はカタカナと英小文字両方をサポート。SBCS の英小文字に割り当てるコードはコードページ 37 (米国/カナダ) とは異なる。MBCS 中のユーザー定義文字領域は 4370 文字分 |
ibm931 |
IBM CCSID (Coded Character Set Identifier) 931 SBCS はカタカナをサポートしない。MBCS は ibm930 と同じ |
ibm939 |
IBM CCSID (Coded Character Set Identifier) 939 SBCS はカタカナと英小文字両方をサポート。SBCS の英小文字に割り当てるコードはコードページ 37 (米国/カナダ) と同じ。MBCS は ibm930 と同じ |
ibm5026 |
IBM CCSID (Coded Character Set Identifier) 5026 MBCS 中のユーザー定義文字領域が 1880 文字分であることを除き ibm930 と同じ。iconv の動作は ibm930 と同じ |
ibm5035 |
IBM CCSID (Coded Character Set Identifier) 5035 MBCS 中のユーザー定義文字領域が 1880 文字分であることを除き ibm939 と同じ。iconv の動作は ibm939 と同じ |
ms932 | WindowsNT 3.51 がマイクロソフトコードページ 932 と Unicode の間で行う変換に基づいた変換を行う |
UTF-8-ms932 | ms932 からの変換の結果得られるコードセット (UTF-8、eucJP、PCK など)と、ms932 以外のコードセットからの変換の結果得られる UTF-8 との間で変換可能 |
JLE 1.x との互換性を持つコード変換フィルタのコマンドには、次のものがあります。
表 6-3 コード変換フィルタコマンドコマンド | 機能 |
---|---|
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 との変換を行うコマンドは、更新番号を含むエスケープシーケンスに対応していません。