質問: $stm->fetchAll(PDO::FETCH_ASSOC); print_r($result); ?> 出力された文字はこちらです。 ほげほげ Array ( [0] => Array ( [No] => 1 [Meal] => ?? [RoomType] => E [HTML] => ??? ) ) 配列内のMealとHTMLに入っている値が文字化けしています。 レンタルサーバーはOCNのメール&ウェブを使っています。 PHPバージョンは5.3 MySQLバージョンは5.5.54 いろいろなサイトを見てUTF-8にしてみました。 以下はmySQL内の文字コードです。 SHOW VARIABLES LIKE 'character\_set\_%' Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database utf8mb4(もしかしてここが問題?) character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 utf8mb4となっているところが問題かなと思っているのでがここを変更するのは 怖くてできていません。(システムで使用中) 下記はテーブルの文字コード SHOW TABLE STATUS FROM tablename LIKE 'Site_Plan2' Collation は utf8mb4_general_ci となっていました。 Httpヘッダーも調べてみましたが Content-Type: text/html; charset=UTF8 となっていて問題ないと思います。 Httpヘッダーを調べたときに使ったのはFireFox用のアドオンで Live HTTP Headersというものです。 その他、C#のプログラムから先ほどのテーブル(Site_Plan2)からデータを取り出しましたが こちらは文字化けしておりません。 長くなってしまいましたがどうかお助けください。
回答: 本来はお勧めしませんが、おまじないでいかオプションを追加してみて下さい ``` $pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND,'SET NAMES utf8'); ``` (new PDOを宣言したあとならOK)