#topicpath

////////////////////////////////////////////////////////////////////////////////
* 目次 [#u8e919d3]
#contents();

////////////////////////////////////////////////////////////////////////////////
* Unicodeの使用 [#bb6eec79]

//==============================================================================
** Utf8を使う [#rae018d2]
- スクリプトファイル自体の文字コードを utf-8 にしておく。
- Unicodeを使えるように宣言しておく。
 use utf8;
 use Encode;

- 入力/出力をutf-8にするには、ファイルハンドルに対して、この様に宣言しておく。
 binmode (STDIN,":utf8");
 binmode (STDOUT,":utf8");
その他のファイルハンドル(ログをファイルに出力する場合など)も同様の措置が必要。
 if (!open (LOG, "output.log")) {
     return err;
 }
 binmode (LOG, ":utf8");


//==============================================================================
** CGI でフォームデータを utf-8 として扱う [#b5aabe13]
- フォームデータを取得し、 decode() 関数で utf-8 文字列に変換する。
    if ($ENV{'REQUEST_METHOD'} =~ /^GET$/i) {
        $buffer = $ENV{'QUERY_STRING'};
    }
    elsif ($ENV{'REQUEST_METHOD'} =~ /^POST$/i) {
        read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    }
    $buffer = decode ('utf8',$buffer);
- その後で、フォームデータを区切り文字で parse するなどの処理を行う。
     my (@pairs) = split (/&/, $buffer);



//==============================================================================
** 参考リンク [#h959d8fa]
- [[PelleasのBlog>http://pelleas.cocolog-nifty.com/blog/cat7921558/index.html]]
- [[Perl 5.8.x Unicode関連>http://www.rwds.net/kuroita/program/Perl_unicode.html]]
- [[Perlによる日本語コード変換のメモ(第二版)>http://www.hikoboshi.org/perl/utf8.html]]
- [[perl5.8のUnicodeサポート>http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html]]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS