CGI-BBS > データベース > 簡易データベース > 検索キーをそのままブラウザ表示すると文字化けしてしまう。


カレッヂ
カレッヂ


質問者 kal  投稿日 2005/5/20(金) 19:47:15
簡易データベースにおいて、検索キー(都道府県のリスト等)を
そのままブラウザに表示させていのですが文字化けしてしまいます。

------------------------------
#■検索結果

print "Content-type: text/html\n\n";
print <<"EOF";
<html><head><title>$title</title></head>
<!-- MiniDatabase v2.1 (c) www.rescue.ne.jp -->
$body
<h2>《"$FORM{'PREF'}"の検索結果》</h2>  ←変更箇所
EOF
------------------------------

上記の様に変更した場合、例えば「北海道」で検索した場合、
web上で表示される文字は

《"北海道"の検索結果》
となるはずが、

《"ヒフウ、ニサ"の検索結果》
と文字化け表示されてしまいます。

上記の変更箇所しか変更していないとして、
何か良い解決策はないでしょうか?
(サーバーはHP-UXです)

よろしくお願いいたします。

【習熟度】多少の改造ができる

回答者 sim  [削除]  投稿日 2005/5/21(土) 09:52:45
print "Content-type: text/html; charset=EUC-JP\n\n";
print <<"EOF";
<html><head><title>$title</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=EUC-JP">
</head>
<!-- MiniDatabase v2.1 (c) www.rescue.ne.jp -->
$body
<h2>《"$FORM{'PREF'}"の検索結果》</h2>  ←変更箇所
EOF

こんなのはどうでしょう?
回答者 sim  [削除]  投稿日 2005/5/21(土) 09:54:25
あ。そもそもEUCになってるのがおかしい感じですね。
jcode.plを使用してEUCからShift_JISにしてあげた方がいいかも知れません。

質問者 kal  [削除]  投稿日 2005/5/24(火) 12:37:31
早速のご回答ありがとうございます。

残念ながらEUCでも問題解消されませんでした。
実際、変更箇所は1行だけですので、
文頭でjcode.plを定義しているのですが・・・

------------------------------
#日本語コード処理ライブラリ
require './jcode.pl';

#データベースファイル
$file = "./data.csv";

#<body>設定
$body = '<BODY bgcolor="#ffeedd">';

#タイトル
$title = '簡易データベース';

#1ページの表示数
$page = 10;
------------------------------

以上、よろしくお願いいたします。

返信(回答)する

 


Web裏技