丁寧なアドバイスありがとうございました。
"Bruce." <kbk@...> さん wrote.
> いろいろ事情があるとは思いますが、後々のことを考えれば入力を取り込んだ
> ところでPerlのUnicode文字列に変換するか、せめてUTF-8に変換してしまって
> 内部での処理はUTF-8で行い、出力するときに変換するなどするようにして
> しまった方が良いと思います。
・以前書いて、溜っているソースの内部コードが EUC-JP で、内部的に EUC を
使うとそのまま使い回しができる
・ブラウザに渡す
<meta http-equiv="Content-Type" content="text/html; charset=...">
部分が EUC-JP だと、WindowsXP/IE6 では POST はいいものの GET で日本語
直書きの URL を使うと文字化けする(IE7はOK。SJIS だと IE6/IE7 ともOK)。
例: <a href="/cgi-bin/test.cgi?mode=test&abc=送信成功">送信</a>
といって URLENCODE を全て入れると手間がかかるので止めたい…。
というような状況がありました。
そこで、現時点では、内部的・汎用的には EUC、GET も使うなら、ブラウザに
SJIS を渡す、のが現実的、と判断、取りあえずそれで統一しました。
当サーバの PukiWiki も昔 EUC-JP が配布先の標準だったのを検索文字がらみの
問題で無理矢理 UTF-8 にしてインストールしたんですが、バージョンアップ、
ちょっとした修正などサーバ上で直接編集する場合 UTF-8 対応していないソフ
トが介在すると使えないので困る、VineLinux がやや遅れた OS だったのもあり、
もろもろ UTF-8 はまだ標準環境としてちょっと整ってないと感じていました。
でも、WindowsXP/IE6 で HTML の文字コードを UTF-8 にしてみると
例: <a href="/cgi-bin/test.cgi?mode=test&abc=送信成功">送信</a>
は文字化けしませんね。UTF-8 標準、は遠くない話かな。
--
本田博通(閑舎)
テキストとスクリプトの http://www.rakunet.org/TSNET/