質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2510閲覧

メルマガ配信時の一部文字化けについて

chapp

総合スコア233

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/08/08 14:54

お世話になっております。
データベース(MySQL)に格納されたデータを呼び出しながら配信するメルマガを作っています。

以下は、その配信する際のスクリプトの一部ですが、「登録日:」など、予め変数に当てはめた文字だけ文字化けするという不具合がおきています。(shubetu、shumoku共に日本語が格納)

$mail_data .= "登録日: ".$row["touroku_date"]."\n";
$mail_data .= "種別: ".$row["shubetu"]."\n";
$mail_data .= "種目: ".$row["shumoku"]."\n";

このような状況、初めてなのですが、ご指導いただけると幸いです。

ちなみに、MySQLの文字コード、PHPなど、すべてUTF-8にて設定しています。

//メール配信する際に宣言
//mb_language("Ja") ;//
mb_language('uni');//上記どちらも同じ
mb_internal_encoding("UTF-8");

以上、お忙しい中恐縮ですが、アドバイスのほど頂戴できれば幸いです。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

どの段階で文字化けが起こっているのかにもよりますが…
メールの文字コードはJISのiso-2022-jpが基本なので、UTF-8のままで送ると文字化けします。
メールの文字コードをBASE64にして送るか、取り出した値をiso-2022-jpにエンコードし直せば解決するかもしれません。

投稿2015/08/09 01:59

yu-ri

総合スコア634

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chapp

2015/08/11 05:25

yu-riさん こんにちは。ご親切な回答をありがとうございます。 ファイルに設定した文字コードに誤りがあったのが原因でした。お騒がせしてすみません。 私のコメントとの入れ違いで、気付くのが遅れてしまいました。すみません。 今後とも宜しくお願い致します。
guest

0

ベストアンサー

文字化けしている文字列が実際何の文字コードなのか、再変換してみる。
または、
$str = mb_convert_encoding($str, 'UTF-8', 'auto');
$str = mb_convert_encoding($str, 'UTF-8', 'JIS, eucjp-win, sjis-win');
等テストして、変換前の文字コードを絞り込んで、突き止めると、
答えが見えてくると思います。

投稿2015/08/08 15:25

rik

総合スコア1151

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chapp

2015/08/09 01:58

rikさん おはようございます。お疲れのところ、ご親切な回答ありがとうございました。 ご教示後、試行錯誤を繰返し、只今解決するに至りました。 原因は、ファイル自体がSJISで保存されていたのが原因です。。。 お騒がせしました。 ご親切な回答に感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問