by Hippo2000(2000/7/12)
Perlを使って日本語の入ったXMLファイルを処理しようとするさい、これまではencodingをどうするかというのが1つの悩みでした。
私は好きなマッピング・ファイルを"Shift_JIS"、"euc-jp"などのためのマッピング・ファイルにするためのスクリプトmkenc.plを作成しました。何はともあれという形で公開します。ご意見などありましたらメールをいただきたいと思います。
村田真さんの"Japanese_Encoding.msg"にもあるように、現バージョンのXML::ParserとXML::Encodingには"Shift_JIS"や"euc-jp"という文字セットためのマッピング・ファイルは入っていません。
このために、XML::Parserを利用する人は"Shift_JIS"や"euc-jp"とを使っているXMLファイルのエンコーディングを変更しなければなりませんでした。これはかなり面倒です。
そこで私は好きなマッピング・ファイルを"Shift_JIS"、"euc-jp"などのためのマッピング・ファイルにするためのスクリプトmkenc.plを作成しました。
またメールで村田真さんからも見ていただいて、"Japanese_Encoding.msg"の日本語訳も作成しました。
マッピングファイルを作成するスクリプトなどをまとめたファイルを用意しました。
圧縮形式は2つ種類あります。
Encod.lzh(LZH形式)、Encod.tar.gz(zipped TAR形式)
この中には以下のファイルが入っています。
MANIFEST :ファイル一覧(英語)
MANIFEST_J :ファイル一覧(日本語)Japanese_Encodings.msg : 今回、村田真さんからの「注」を加えました
Japanese_Encodings_J.msg : Japanese_Encodings.msgを翻訳したものmkenc/
mkenc.pl : 他のマッピング・ファイルからマッピング・ファイルを作成するスクリプト
readme.txt : mkenc.plのreadme(日本語)
readme_e.txt: mkenc.plのreadme(英語)
example/
euc-jp.enc: x-euc-jp-unicode.encをmkenc.plでeuc-jp用にしたもの
shift_jis.enc: x-sjis-cp932.encをmkenc.plでShift_JIS用にしたもの
x-euc-jp-unicode.enc、x-sjis-cp932.encは元のままです。test/
tenc.pl : 作成したマッピング・ファイルのチェック用スクリプト
teste.xml : テスト用XMLファイル(EUC)
testsj.xml : テスト用XMLファイル(SJIS)
result : 実行結果
いたって単純です。
これでShift_JISやeuc-jpを指定することができます。使い方についてはtestディレクトリのtenc.plをご覧ください。
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。