レンタルサービス

開発室

このサイトについて

検索

AD

エンコードラッパーモジュール

 Encode.pmへのwrapperです。以前に「エンコードライブラリ」として配布していたものです。
 このライブラリを読み込むことで、UTFフラグをつけたり外したり、文字コードを変換することができます。
 また、メール送信のためのエンコード・MIME Base64エンコード、URLエンコードも可能です。

利用条件

ダウンロード

 pmファイルで配布しています。下のリンクをクリックしてください。
MConv.pm(by cgi-bin.jp)

必要な環境

Perl
 バージョン5.8以上

必要モジュール

 モジュールはCPANなどでインストールしてください。というか、Perl5.8ならばコアモジュールですので、何もしなくても入っているはずです。

設定

 ダウンロードしたファイル名をMConv.pmに変更します。

設置方法

 アスキーモードでサーバにアップロードしてください。
 アップロード先は呼び出し元のスクリプトからパスが通っている場所に。呼び出すスクリプトと同じディレクトリが無難。もしくはuse libでパスを通すか。
 パーミッションはCGI実行権限者が読めればいいが、644か604が一番多いパターン。

使用方法

 呼び出し元のスクリプトでuse MConv;する。


UTFフラグをつける
書式:&MConv::Flagged(str => String , def => DefaultCode)
String …… 変換する文字列
DefaultCode …… 文字コードの自動判別に失敗した際に強制適用する文字コード。省略時はutf-8。
文字コードを変換する・UTFフラグを外す
書式:&MConv::nonFlag(str => String , to => 'Encode' , opt => Option , def => DefaultCode)
String …… 変換する文字列
Encode …… 変換先のエンコード(省略時:utf-8)
Option …… "url_en"を指定すると、文字コード変換の後URLエンコードします。(省略可)
DefaultCode …… 文字コードの自動判別に失敗した際に強制適用する文字コード。省略時はutf-8。
URLエンコードする
書式:&MConv::urlencode(String)
String …… 変換する文字列
URLデコードする
書式:&MConv::decode(String)
String …… 変換する文字列
メールヘッダ用に文字コード変換&MIME Base64エンコードする
書式:&MConv::MailHeader(str => String , def => DefaultCode , to => Code)
String …… 変換する文字列
DefaultCode …… 文字コードの自動判別に失敗した際に強制適用する文字コード。省略時はutf-8。
Code …… 変換先のコード。utf-8やutf-7など。省略時はiso-2022-jp。
メール本文用にエンコードする
書式:&MConv::MailText(str => String , def => DefaultCode , to => Code)
String …… 変換する文字列
DefaultCode …… 文字コードの自動判別に失敗した際に強制適用する文字コード。省略時はutf-8。
Code …… 変換先のコード。utf-8やutf-7など。省略時はiso-2022-jp。

使用例

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use MConv;


my $string = "文字コード";
#この時点で$stringに入っている文字列の文字コードは"UTFフラグ付きのutf8"

$string = &MConv::nonFlag(to => 'euc-jp', str => $string, def => 'utf-8');
#この時点で$stringに入っている文字列の文字コードは"EUC-JP"(フラグはもちろんなし)

print $string;
#標準出力に$stringの内容(EUC-JP)が出力されます

$string = &MConv::nonFlag(to => 'utf-8', str => $string, opt => 'url_en');
# $stringを文字コードをUTF-8(フラグなし)に変換、更にURLエンコードを施す

my $wurl = "http://ja.wikipedia.org/wiki/" . $string;

print $wurl;
#標準出力にwikipedia(日本語版)の当該項目のリンクが出力されます。
#http://ja.wikipedia.org/wiki/(UTF8でURLエンコードされた文字列)

exit;

バグレポート等

 鯖缶Blogの当該エントリーにコメントしてください。