CGI-BBS > 電子掲示板 > 簡易BBS > 簡易BBSEXについてクッキーからの名前が文字化けする。


カレッヂ
カレッヂ


質問者 1234  投稿日 2004/2/6(金) 15:18:21
問い合わせ内容との便宜上、名前を1234とさせていただきます。

題名のように簡易BBSEX v1.30を利用していますが、クッキーから読み出したunameが文字化けしてしまいます。
1234→?P?Q?R?S
「$in{'uname'}」も「$ENV{'HTTP_COOKIE'}」も表示させてみましたが、「uname:」から「,」まで文字化けしていました。
当方ではIE6SP1を使用していますが、IE6SP1のCOOKIEファイルは正常に1234が記入されています。
また、Operaにて表示したときも同様でした。

環境情報(詳細)
OS:Window 2000 Pro SP4(サーバとクライアントは同じです)
HTTPd:Apache/2.0.48
Browser:IE6SP1, Opera7.23J(Proxyなし)
Perl 5.6.1

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:EmEditor4
FTPソフト:
サーバ移転:していない
改造:していない 改造前正常動作
CGI習熟度:expert

質問者 1234  [削除]  投稿日 2004/2/6(金) 18:18:21
解決しました。
お騒がせしました。
http://www.futomi.com/lecture/cookie/

--
$COOKIE{'uname'} =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;

#--- 入力 ---#
--
と
--
		$cookiefixed_uname = $in{'uname'};
		$cookiefixed_uname  =~ s/([^\w\=\& ])/'%' . unpack("H2", $1)/eg;
		print "Set-Cookie: $ENV{'SCRIPT_NAME'}=uname:$cookiefixed_uname\,email:$in{'email'}\,tm:$in{'tm'}\,passwd:$in{'passwd'}; path=$path; expires=$date_gmt\n";
--
を修正しました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技