• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQLから取得した日本語をメールすると文字化け)

MYSQLから取得した日本語をメールすると文字化け

このQ&Aのポイント
  • PHPからiphoneへEメールを送信する処理を作りたいのですが、名前の部分だけが文字化けします。
  • メールのタイトルは文字化けせず、表示ができますが、DBから取得した文字(名前)は文字化けします。
  • 文字化けを解決する方法を調べましたが、分からず困っています。助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

メール送信でなく、print $user_name; などとしても化けていますか?まずはそれを確認してください。この時点でutf-8になっていなければ、mb_send_mailは無関係ですので。 気になるのはデータベース接続($dd)を生成するときに「charsetをどのように指定しているのか」ですね。MySQLの場合キチンとcharsetを指定しないとほぼ100%化けます。 PDOであれば下記のように(DSNで)指定します。 http://www.php.net/manual/ja/ref.pdo-mysql.connection.php charsetは(utf-8であれば)"utf8"と指定してください(MySQLでは"utf8"の表記しかありませんので"utf-8"は無視されます)。 http://www.php.net/manual/ja/mysqlinfo.concepts.charset.php

yanagihk
質問者

お礼

私の確認不足でした。ごめんなさい。 DBに格納されたデータが??でした。 DBへ格納する処理は、androidから日本語をpostしていますが、そこでサーバー側で受ける文字コードの指定を忘れていました。

すると、全ての回答が全文表示されます。

関連するQ&A