CakePHPでDBの設定を終えて表示確認をしたら???と文字化け!MariaDBのタイムゾーン等を設定して解決

CakePHPでDBを使おうと思いすべての設定を終えていざデータを表示させたら???と文字化け
DBの設定の問題だろうということでググる

データベースの設定は一応全部見直すこと!
latin1 とかあれば変更する

MariaDB [test]> show variables like ‘char%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+

character_set_databaseの方は

MariaDB [test]> alter database test character set utf8;

character_set_serverは

[mysqld]
character-set-server=utf8
default-time-zone='Asia/Tokyo'

ただ、上記は再起動するとエラー
mysql.time_zone テーブルにタイムゾーン情報がないためエラーが出る模様

mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql

でデータ投入後、mariadb再起動しテーブル削除してutf8で作り直してデータ再投入で解決

シェアする

  • このエントリーをはてなブックマークに追加

フォローする