プロが教える店舗&オフィスのセキュリティ対策術

CGIの勉強中の者です。
文字コードはSJISで保存しているCGIをUTF8コードに換えるには何が必要でしょうか?
HTMLならmeta内をSJISからUTF8に変更し、TeraPadなどのテキストエディタでUTF8に保存すればオッケーなんですが。
CGIの場合はHTMLと違って、換えるには複雑なのでしょうか?

CGIプログラムの中では以下の「sjis」を「UTF8」に書き換えし、UTF8で保存しましたけど、文字化けが出てます。
<meta http-equiv="Content-Type" content="text/html;charset=shift_jis">
&jcode'h2z_sjis(*contenido)
&jcode'convert(*subject,'sjis');
&jcode'convert(*infor,'sjis');
&jcode'convert(*contenido,'jis');
&jcode'convert(*res_msg,'jis');
print "Content-type: text/html;charset=shift_jis\n\n";

宜しくお願いします。

A 回答 (2件)

1行目の最期のほう、


charset=shift_jis
を、
charset=UTF-8

に書き換えればOKです。
そこは、「この文書のエンコーディングはxxです」と宣言している部分なので。
ここを見て、システムはエンコーディングを決定します。
UTF-8に保存しても、そこがshift_jisのままだと、shift_jisだと思って処理してしまいます。

この回答への補足

返答をありがとうございます。
charset=shift_jis
を、
charset=UTF-8
に書き換えたらメールフォームの送信はできました。(今までは名前が未記入とエラーがでました。&jcode'h2z_sjis(*contenido) 以下は変更してません)
しかし、メールの内容は文字化けになっておりました。
それで「Jcode.pm」をアップロードし、CGIに「require './Jcode.pm'; 」と記入しましたら、今度は500エラーになりました。
どこが間違っておりますでしょうか?
宜しくお願いします。

補足日時:2009/06/12 23:04
    • good
    • 0

jcode.plはUTF8には対応していません。


Jcode.pmを使いましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!