MySQLとPHPで日本語が文字化けする。
MySQLとPHPでアプリを開発中です。
MySQLに登録済の日本語文字列データをPHPでselectして
echoを使ってクライアント(Windows XP)のブラウザに表示させると、
文字化けします。
全角文字がすべて半角の '?' になります。
MySQLの状態を調べるために以下を実行しました。
SHOW VARIABLES LIKE 'char%';
結果は以下のとおりでした。
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/mysql5.0.51a/share/mysql/charsets/
PHPの内部エンコードはUTF-8です。
php.iniの関連設定は以下のとおりです。
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII
mbstring.substitute_character = "none"
mbstring.encoding_translation = On
extension_dir = "/usr/local/lib/php/extensions"
extension=php_mysqli.dll
extension = gd.so
extension = mysqli.so
extension = xmlrpc.so
MySQLもPHPもすべてUTF-8で統一したので問題ないはずだと
思ったのですが?
半角アルファベットは問題なく表示されます。
サーバー側OSはSolarisです。
MySQLから正しくデータを得られていないように思えるのですが。
ヒントでも結構ですから教えていただけるとありがたいです。
よろしくお願いします。
お礼
アマゾンに問い合わせた所、コマンドプロンプトの設定の問題であることがわかりました。ありがとうございました。
補足
現在は、コマンドプロンプトを使っての入力なんです。 明日、ためしに違うソフトから入力してみます。