Perl (CGI)で 文字コードUTF-8への変換を気軽に使うライブラリ
Perl (CGI)で 文字コードUTF-8への変換を気軽に使うライブラリを開発した。
ダウンロード:sutf8.pl
著作権はさとーしが持ちますが,完全に利用フリーです。
動作条件として,実行には以下のファイル(Unicode Consortiumで公開されているMicrosoft CP932の変換表)が sutf8.pl と同じディレクトリに必要です。
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
機能としては,Shift-JISからUTF-8への変換とその逆が出来ます。
ただし, Perl では,EUC-JPの方がShift-JISよりプログラムのトラブルが少ないので,
プログラム内部ではEUC-JPで処理を行い,UTF-8に変換するときは,
jcode.pl とかのライブラリを使って,Shift-JISに変換する必要があります。
プログラムの例:
require 'jcode.pl';
require 'sutf8.pl';
$str = "あいうえお";
&jcode'convert(*str,'sjis'); # Shift-JISに変換
&sjis2utf8(*str); # UTF-8に変換
# これで, $strは,UTF-8に変換済みです。
# UTF-8からShift-JISやEUC-JPにするには
&utf82sjis(*str); # Shift-JISに変換
&jcode'convert(*str,'euc'); # EUC-JPに変換
# とすれば,OK
問題点:
そのため,Shift-JISに含まれていない文字を扱うと文字が壊れます(汗
プログラムの保障(バグ,パフォーマンスの問題対処)はいたしません・・・。
また,CP932.TXTの対応表では,Shift-JISとUNICODEは完全に1対1では無く,
1対2以上になっているものが 398個ぐらいあります・・・。そのため,
Shift-JISからUTF-8への変換は問題ありませんが,UTF-8からShift-JISへ
変換したときに,部分的に元に戻らないことがあります。
ダウンロード:sutf8.pl
著作権はさとーしが持ちますが,完全に利用フリーです。
動作条件として,実行には以下のファイル(Unicode Consortiumで公開されているMicrosoft CP932の変換表)が sutf8.pl と同じディレクトリに必要です。
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
機能としては,Shift-JISからUTF-8への変換とその逆が出来ます。
ただし, Perl では,EUC-JPの方がShift-JISよりプログラムのトラブルが少ないので,
プログラム内部ではEUC-JPで処理を行い,UTF-8に変換するときは,
jcode.pl とかのライブラリを使って,Shift-JISに変換する必要があります。
プログラムの例:
require 'jcode.pl';
require 'sutf8.pl';
$str = "あいうえお";
&jcode'convert(*str,'sjis'); # Shift-JISに変換
&sjis2utf8(*str); # UTF-8に変換
# これで, $strは,UTF-8に変換済みです。
# UTF-8からShift-JISやEUC-JPにするには
&utf82sjis(*str); # Shift-JISに変換
&jcode'convert(*str,'euc'); # EUC-JPに変換
# とすれば,OK
問題点:
そのため,Shift-JISに含まれていない文字を扱うと文字が壊れます(汗
プログラムの保障(バグ,パフォーマンスの問題対処)はいたしません・・・。
また,CP932.TXTの対応表では,Shift-JISとUNICODEは完全に1対1では無く,
1対2以上になっているものが 398個ぐらいあります・・・。そのため,
Shift-JISからUTF-8への変換は問題ありませんが,UTF-8からShift-JISへ
変換したときに,部分的に元に戻らないことがあります。
この記事へのコメント
NiftyのサーバでWikiを運営していて、UTF-8エンコードしたWikipediaへのリンクを何とか生成したいと探していたら、こちらへ辿り着きました。
苦労するも実装出来たみたいなので、ライブラリを利用させて貰う旨、また、その事についてページ内で書いている旨お知らせしておきます(Wikipediaプラグインのところです)。
Google Mapsを利用した掲示板、見ましたがなかなか面白いですね。
ではでは。
ダウンロードできるように修正しました。
使わせていただきます!
ありがとうございます。感謝!
Geeklogにユニコードテキストを読み込ませるため既存のプログラムを改良していたんですが、ユニコード対応が初めてで困っている時に貴サイトをみつけました。
sutf8.plを使わせていただき大変助かりました。ありがとうございました。
ユニコード変換した文字列を配列に入れて処理する時になかなかうまくいきませんでしたが、最終的にSJISの文字列を一旦ファイルに書き込んで、再度読み込んでsutf8.plでUTF-8に変換し、別のファイルに書き込むというやりかたでうまく行きました。
あと、処理するプログラムと違う階層(上位)にsutf8.pl等を置くとどうもうまく行かないようでした。処理するプログラムと同じ階層に置くといけたりしました。
ちゃんと検証したわけではないので間違っていたらごめんなさい。参考になればと。
ブログでも紹介させて頂こうと思います。
ありがとうございました。
K�nstliche Fatburner sind aus nat�rlichen und synthetischen Stoffen produzierte Mischungen, die in Tablettenform,
als Pulver oder als Fl�ssigkeit edtra zur Nahrung aufgenommen werden. Sie werden zur Unterst�tzung beim
Reduzieren des K
Hin und wieder beinhalten sie allerdings Stoffe, deren Abgabe
in Deutschland rechtlich eingeschr舅kt ist (z. B. Ephedrin) oder die nicht gewollte Nebenwirkungen hervorrufen. Diie unmittelbare beabsichyigte Wirkung von Fatburnern wird von vielen トrztenund Ern臧rungsfachleuten bezweifelt.