中国語の文字化け
スズキさん (2010-02-06 16:48:26) zt.pr-pro.jp/contact_cn.html
和田様
いつも
私も質問させていただきます。
私の使わせていただいてるバージョンはMailform Pro 1.1.5で、使っているサーバはWebARENAです。
私もaritaさんと同じように中国語の文字化けが発生したので、
(1)send.cgiとfunction.cgiでJcodeとついている行をすべて#でコメントアウトします。
(2)send.cgiの eoncodeJISとencodeSJISと記述された行をすべて#でコメントアウトします。
(3)function.cgiの関数 sendmail内のcharsetの記述をUTF-8にします。
この書き換えを行いました。
■send.cgi
6行目 #use Jcode;
59行目 #Jcode::convert(\$config{"subject"},’jis’);
60行目 #$config{"subject"} = Jcode::mime_encode([\$config{"subject"}]);
61行目 #Jcode::convert(\$config{"body"},’jis’);
69行目 #Jcode::convert(\$config{"return_body"},’jis’);
70行目 #Jcode::convert(\$config{"return_subject"},’jis’);
71行目 #$config{"return_subject"} = Jcode::mime_encode([\$config{"return_subject"}]);
■function.cgi
130行目 #Jcode::convert(\$put_field,’sjis’);
143行目 #Jcode::convert(\$put_field,’sjis’);
このように書き換えました。
さらにsendmailの中のcharsetの変更も
237行目 print MAIL "Content-type:text/plain; charset=UTF-8\n";
251行目 print FH "Content-type:text/plain; charset=UTF-8\n";
このように書き換えました。
このあとテスト送信をしてみたのですが、以下のようなエラーが表示されます。
Undefined subroutine &main::getcode called at commons/functions.cgi line 86.
ちなみに表示されるタイミングはフォームに入力後、確認ボタンを押したあとに確認画面が表示され、送信ボタンを押したら表示されます。
以上です。
お助けいただきたいです。よろしくお願い致します。