|
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/03/13) | トップへ | 後記事(2006/03/20)>> |
| タイトル (本文) | ブログ名/日時 |
|---|---|
[WEB制作]Perl のメールフォーム CGI を UTF-8 のページに設置する
Perl のメールフォームって普通 EUC で書かれていて、Shift-JIS のページに設置することを前提にしてあるものが多いらしい。 今回、同僚がなぜか PHP を使えないサーバーをレンタルしてしまったおかげで、慣れない Perl の CGI を一晩のうちになんとか設置しなくてはならな ...続きを見る |
minorio のプログラミング・メモ 2007/12/10 16:38 |
| 内 容 | ニックネーム/日時 |
|---|---|
初めまして。IO(いお)と申しますです。 |
IO URL 2006/05/23 18:33 |
利用,ありがとうございます。(^^ |
さとーし 2006/05/25 20:52 |
Shift-JISの半角カナ文字の変換に対応する。 |
さとーし 2006/12/25 13:18 |
ダウンロードが出来ないのですが・・・ |
night 2007/07/14 12:12 |
すみません。サーバの設定が変わってしまったために,見えなくなってしまったようです。 |
さとーし 2007/07/17 10:30 |
簡単に変換できたので感激しました。 |
れん 2007/10/25 22:50 |
はじめまして。 |
kland 2008/08/01 14:14 |
| << 前記事(2006/03/13) | トップへ | 後記事(2006/03/20)>> |