2008年04月25日
Tweet
あまり詳しくないのですが、Windows + Apache 2.xx の組み合わせを使っている時に、エンコードなどの処理をせずに cookie を利用すると文字化けするそうです。
すべての文字が化ける訳ではないと思うのですが、使っているフォームでは、僕の名前が必ず文字化けしていました。そしてそれが本当に不便でした。知らない間に変な記号が入っているわけですし。
ということで、以下の通りエンコード・デコード処理を追加し、文字化けしなくなりました。
---- とほほのcookie入門 より引用 ----
CGI(Perl)でエンコードするには次のようにします。
$xx =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
CGI(Perl)でデコードするには次のようにします。
$xx =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
--------------------------------------------------------
■参考
とほほのcookie入門

すべての文字が化ける訳ではないと思うのですが、使っているフォームでは、僕の名前が必ず文字化けしていました。そしてそれが本当に不便でした。知らない間に変な記号が入っているわけですし。
ということで、以下の通りエンコード・デコード処理を追加し、文字化けしなくなりました。
---- とほほのcookie入門 より引用 ----
CGI(Perl)でエンコードするには次のようにします。
$xx =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
CGI(Perl)でデコードするには次のようにします。
$xx =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
--------------------------------------------------------
■参考
とほほのcookie入門