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へ
変換したときに,部分的に元に戻らないことがあります。

この記事へのコメント

2006年05月23日 18:33
初めまして。IO(いお)と申しますです。

NiftyのサーバでWikiを運営していて、UTF-8エンコードしたWikipediaへのリンクを何とか生成したいと探していたら、こちらへ辿り着きました。

苦労するも実装出来たみたいなので、ライブラリを利用させて貰う旨、また、その事についてページ内で書いている旨お知らせしておきます(Wikipediaプラグインのところです)。

Google Mapsを利用した掲示板、見ましたがなかなか面白いですね。
ではでは。
さとーし
2006年05月25日 20:52
利用,ありがとうございます。(^^
2006年12月25日 13:18
Shift-JISの半角カナ文字の変換に対応する。
night
2007年07月14日 12:12
ダウンロードが出来ないのですが・・・
2007年07月17日 10:30
すみません。サーバの設定が変わってしまったために,見えなくなってしまったようです。

ダウンロードできるように修正しました。
れん
2007年10月25日 22:50
簡単に変換できたので感激しました。
使わせていただきます!
ありがとうございます。感謝!
kland
2008年08月01日 14:14
はじめまして。
Geeklogにユニコードテキストを読み込ませるため既存のプログラムを改良していたんですが、ユニコード対応が初めてで困っている時に貴サイトをみつけました。
sutf8.plを使わせていただき大変助かりました。ありがとうございました。

ユニコード変換した文字列を配列に入れて処理する時になかなかうまくいきませんでしたが、最終的にSJISの文字列を一旦ファイルに書き込んで、再度読み込んでsutf8.plでUTF-8に変換し、別のファイルに書き込むというやりかたでうまく行きました。

あと、処理するプログラムと違う階層(上位)にsutf8.pl等を置くとどうもうまく行かないようでした。処理するプログラムと同じ階層に置くといけたりしました。

ちゃんと検証したわけではないので間違っていたらごめんなさい。参考になればと。

ブログでも紹介させて頂こうと思います。
ありがとうございました。
2019年01月11日 05:40
Fatburner Tbletten - ja oder nein?


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 Kpergewichtes und im Rahmen von Bodybuilding benutzt.
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.

この記事へのトラックバック

  • [WEB制作]Perl のメールフォーム CGI を UTF-8 のページに設置する

    Excerpt: Perl のメールフォームって普通 EUC で書かれていて、Shift-JIS のページに設置することを前提にしてあるものが多いらしい。 今回、同僚がなぜか PHP を使えないサーバーをレンタルして.. Weblog: minorio のプログラミング・メモ racked: 2007-12-10 16:38