• 締切済み

PHP+MySQLで文字化け

DBからデータを持ってきてPHPで表示させると文字化けしてしまいます。 PHPはEUC-JPです。 mb_convert_encoding($message, "EUC-JP")としてみても文字化けしてしまいます。 どなたか対処方法教えていただけたら嬉しいです。

みんなの回答

回答No.2

MYSQL4.1以降は文字化けが起きやすくなっています。 SET Characterで初にSQLを発行しておくと良いようです。 またWINDOWSのODBC接続も同じようなことをします。 mysql側はUTFにしておかないといろいろ不都合が出るようです。 最近いろいろなオープン系ソフトで日本語対応が置き去りにされるのが目に付きます。

  • myaa_myu
  • ベストアンサー率52% (9/17)
回答No.1

mbstring関数は使用可能になっているか、phpinfo()で確認してみてください。 使用可能な場合は、第3引数を入れてみてください。 DBの文字コードはなんでしょうか?MySQLだと標準だとEUC-JPのような気がしたのですが、たとえばDBの文字コードがUTF-8の場合は下記のように。 mb_convert_encoding($message, "EUC-JP", "UTF-8") また、mbstring.detect_order = autoが有効になっていれば(これもphpinfoで確認してみてください)、 mb_convert_encoding($message, "EUC-JP", "auto") このようなやり方も可能ですが、変換元の文字コードがわかっている場合は明示したほうがいいと思います。 お力になれたら幸いです。

関連するQ&A

専門家に質問してみよう