freepbx cdrレポート mail送信 文字化け

以前から気になっていたが解決方法がわからなかった

mysqlを勉強し始めたら原因がわかった

レポートのデータベース asteriskcdrdb のcharacter_set_database の文字コードがutf8でないのが原因

データーベースを作成した時点の文字コードがutf8でないと文字化けをおこす

日本語データーが登録できるようにする

utf8に統一すればよい

vi /etc/mysql/mysql.conf.d/mysqld.cnf

#最終行に追記

character-set-server=utf8

vi /etc/mysql/conf.d/mysql.cnf

[mysql] default-character-set=utf8

vi /etc/mysql/conf.d/mysqldump.cnf

#追記

default-character-set=utf8

/etc/init.d/mysql restart

解決

asteriskcdrdbをエクスポートする

mysqldump -u root -p asteriskcdrdb > asteriskcdrdb_backup.sql

mysql -u root -p

create database asteriskcdrdbbackup;

mysql -u root -p -h localhost asteriskcdrdbbackup < asteriskcdrdb_backup.sql

phpmyadminでうまく行っているか確認する

うまく行っていたら

mysql -u root -p

drop database asteriskcdrdb;

create database asteriskcdrdb;

mysql -u root -p -h localhost asteriskcdrdbbackup < asteriskcdrdb_backup.sql

確認

mysql -u root -p

show variables like “chara%”;

+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| 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/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.01 sec)

すべての文字コードがutf8になっていればOK

関連広告記事
スポンサーリンク

シェアする

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

フォローする

スポンサーリンク