PHP / MySQL環境で日本語が文字化けした話

Sponsored Link

「お名前.com」レンタルサーバで

このブログで利用しているレンタルサーバは「お名前.com」です。

で、せっかくレンタルサーバの容量も余ってるし、久しぶりにPHPで簡単なWebサイトみたいなもの、作ってみようかな・・・と思い、「お名前.com」が提供している環境でPHPを書き始めました。

MySQLからデータを取得してPHPで文字列を表示する、単純なもの。

ローカル環境では問題なくDB接続して日本語文字列も表示されるし、一旦、サーバ上に上げてみようかな、と試したところ・・・

日本語文字化け

 文字化け・・・

ま、日本語が文字化けするのはよくあることですよね。Web上にはいくらでも事例も上がってるし、すぐに解消できるでしょ。なんて思って「php 日本語 文字化け」でヒットする対応法をいろいろ試しても全然うまくいかない・・・。

Sponsored Link

PDOの接続文字列に問題

Web上の事例としては「php.ini」や「MySQLの設定」などありますね。ただ、それらの設定は「お名前.com」では既にそのように設定されていたり、実際に設定記述を入れてみたりしてもどれもNG。

PDO(mysql:dbname=xxx;host=yyyy;port=9999 … 以下略)

で、これまでの開発や今回のローカル環境確認では、上記のように記述してました。実際問題なく表示されていたのですが。

で、ヒットした対応案に倣って、それを以下のように変更したところ、解決

PDO(mysql:dbname=xxx;host=yyyy;port=9999;charset=utf8 … 以下略)

文字化け解消!

設定ファイル等は関係なかったみたい。

PDO接続「charset」を指定

タイトルとURLをコピーしました