xamppでMySQLからPHPで値を取得すると
文字コードがすべてASCIIになってしまい、全角文字など2バイト文字が表示されずすべて「?」になってしまう症状が・・・。
さっそくいろんな方法を試してみる。
・PHPスクリプト内
1、取得した値に対して出力時に関数
を使ってエンコードを行う。
⇒すべてASCIIのままにて文字化け。
2、DB接続スクリプトの次にクライアントの文字コードを設定する
⇒すべてASCIIのままにて文字化け。
3、同様に
⇒すべてASCIIのままにて文字化け。
・phpMyAdmin内
3、「MySQLの接続照合順序」を
に変更してxamppを再起動。
⇒すべてASCIIのままにて文字化け。
・php.iniの設定
4、「mbstring」の設定項目にて
にしてコメントアウトを解除して、apacheを再起動。
⇒すべてASCIIのままにて文字化け。
・MySQLの設定
5、my.cnfの[mysqld] 設定を以下に変更。
にして、以下の1行をその下に追記。
MySQLを再起動。
⇒全角文字はutf-8で表示!!
ふぅ~。ようやく2バイト文字が表示されました!
No related posts.