社内サーバーでMySQLを動かして開発を行っているのですが、
しばらく他のPJでは、SQLServerを使用していました。
その為、CentoOSサーバーを放置していたところ
phpMyAdminが文字化けを起こしているではありませんか!
最初の表示は文字化けせずに日本語がちゃんと表示されている。
データベースを選択後、テーブルを選んで内容表示させても
ちゃんと表示されている(テーブル名は日本語)
でも、SQL文(SELECT文)から実行を行うと
テーブル名(日本語)が文字化けしてしまう!!?
エンコードは「utf-8」で統一(していたはず)
色々確認したのですが、phpmyadminで関連するのは
ここくらいかと・・・
MySQLの接続の照合順序:utf8_general_ci
検索すると色々と出てくるのですが、
色々有り過ぎてどこから手を付けていいのか・・・(・・;)
原因は、EC-CUBEをインストールする際
PHPのバージョンを上げた為、php.iniやらmy.cnfなどが
イニシャルされてしまったようです。
だから、そこを修正・追加してみました。
/etc/my.cnf
[mysqld]
character-set-server = utf8
init-connect = SET NAMES utf8
collation-server = utf8_general_ci
[mysql] ← クライアント側
default-character-set = utf8
次に
php.ini
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.detect_order = auto
apacheを再起動して、解決しました。
めでたしめでたし(^^♪