jcode.pl と Jcode.pm
サーバにもフォルダにもJcode.pmが無い場合。
まず Jcode.pm を入手しなくてはなりません。(CPAN あたりより) access.cgi と同じ階層に lib フォルダを作り、そこへ Jcode.pm と Jcode(フォルダ) をアップします。#--- ファイル設定 ------*
use lib './lib'; # Jcode.pm が有る場所を相対パス指定
use Jcode; # これを追記
require './jcode.pl'; # jcode.plまでのパス(URLは×)
require './set.cgi'; # 設定ファイルまでのパス(URLは×)
#--- ここまで ----------*
以下に、jcode から Jcode に変えるためのやり方が少し書かれている。
結局、UTF-8 に対応した変換を行うには、Jcode.pm を導入した上で、
&Jcode'convert(*ERR,'euc'); ↓ jcode($ERR)->euc
のように書き換えてやればいい。
Jcode.pm はサーバーの管理者権限がなくても、アップロードすれば使えるので、レンタルサーバーでも問題なし。
さらに Tips。
文字列の比較などする場合、内部コードは euc にして、utf8 の HTML フォームからの値は euc に変換してやるのがよい。utf8 に変換して比較しようとしてもなぜかうまく行かない。
また、下のように変換したい文字列のエンコードを明示的に指定してやったほうがよさそうだった。
$html_encoding = 'utf8'; $icode = 'euc'; $STR=jcode($STR, $html_encoding)->$icode;