jcode.pl と Jcode.pm

HTML,CGIでの文字コード指定について

サーバにもフォルダにも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 に変えるためのやり方が少し書かれている。

jcode.pl と UTF-8

結局、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;