• 締切済み

文字コードsjisをUTF8に書き換えたい

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"; 宜しくお願いします。

みんなの回答

  • rythm3455
  • ベストアンサー率36% (4/11)
回答No.2

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

nkmyr
質問者

補足

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

回答No.1

jcode.plはUTF8には対応していません。 Jcode.pmを使いましょう。