这两天被mysql的编码问题折腾得够呛,网上各种说法,最后这些说法整合筛选总算找到了一个比较正确的解决方法
mysql版本:5.5+
配置/etc/mysql/my.cnf
[mysqld]
#添加这几行
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
[client]
#这个不设置好像也无所谓
default-character-set=utf8
然后修改数据库的默认编码
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
查看一下结果
SHOW VARIABLES LIKE 'character_set%';
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.00 sec)