PHPでメールフォームを作っているのですが、中国語を使えるようにするためにはどうすればいいでしょうか。

文字コードをUTF-8にして送信してみると、日本語部分は文字化けせずに、中国語の一部文字が?に化けてしまいます。届いたメールは「charset=ISO-2022-JP」とヘッダーに入っているので、UTF-8との差によるものかと思いますが・・・
解決方法をお教えください。急いでいるのでポイント高めで。よろしくお願いします!

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/04 19:54:51
  • 終了:2007/02/06 11:37:46

ベストアンサー

id:arcana No.4

arcana回答回数120ベストアンサー獲得回数102007/02/06 02:50:20

ポイント53pt

PHP 上から UTF-8 デフォルトなメール送信の方法

参考:http://www.securehtml.jp/utf-8/php_utf_mail.html

送信プログラム側に上記サイトの上段で提示されている仕組みをいれると

解決するかもしれません。

一度、試されてはどうでしょうか?

id:n_maco2

非常に参考になります、ありがとうございます!試してみたいと思います・・・が、試せるのが今週末になりますので、この質問は一回終了したいと思います。

みなさんありがとうございました!

2007/02/06 11:37:01

その他の回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012007/02/05 07:15:17

ポイント10pt

マルチバイト処置の場合は、

(1)php内部処理で使われるコードも調整しておかないと文字化けします。

http://jp.php.net/manual/ja/ref.mbstring.php

(2)mb_send_mail を使っているのであれば、mb_language も確認してください。

http://jp.php.net/mb_send_mail

id:n_maco2

おっしゃることはわかるのですが、注意はしているつもりなので、どう調整すればいいのかと・・・

2007/02/06 01:51:36
id:kimizu No.2

kimizu回答回数726ベストアンサー獲得回数212007/02/05 17:11:56

ポイント22pt

http://www.infinity-dimensions.com/blog/archives/000114.html

http://www.spencernetwork.org/jcode/readme.txt

このあたりを参照するとわかると思うのですが、

「charset=ISO-2022-JP」とは、JISコードと呼ばれる

文字体系です。中国語の漢字の一部は、JISコードに無いので、

変換した時点で当然文字化けします。

メール送信部分をUTF-8で送信できれば良いのですが、

メール送信プログラムや途中の経路によって、7bitで切られ、

頭のビットが無くなる事による文字化けも考慮する必要があります。

なので、メールの本文中ではUTF-8でエンコードされた状態で

受信し、その後のプログラムでエンコードを解くような手順が

良さそうです。

id:n_maco2

ふむふむ・・・参考になります、ありがとうございます。

「メールの本文中ではUTF-8でエンコードされた状態で受信し、その後のプログラムでエンコードを解くような手順が良さそうです。」

上記の部分がよく意味がわからないのですが、メールの送信をPHPから行い受信は普通の中国語OSのメールソフトの予定ですが、この場合はどうなりますでしょうか。

2007/02/06 01:57:15
id:hamster008 No.3

hamster008回答回数116ベストアンサー獲得回数12007/02/05 21:22:52

ポイント5pt

文字コードの指定がUTF-8にできていないですね。http://end

id:n_maco2

それはわかりますが、全てUTF-8で処理を行っているので、送信時にUTF-8ではなくISO-2022-JPに変換されてしまうのですかね・・・

2007/02/06 01:58:42
id:arcana No.4

arcana回答回数120ベストアンサー獲得回数102007/02/06 02:50:20ここでベストアンサー

ポイント53pt

PHP 上から UTF-8 デフォルトなメール送信の方法

参考:http://www.securehtml.jp/utf-8/php_utf_mail.html

送信プログラム側に上記サイトの上段で提示されている仕組みをいれると

解決するかもしれません。

一度、試されてはどうでしょうか?

id:n_maco2

非常に参考になります、ありがとうございます!試してみたいと思います・・・が、試せるのが今週末になりますので、この質問は一回終了したいと思います。

みなさんありがとうございました!

2007/02/06 11:37:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません