背景
记一次mysql因为不同的编码方式无法把两个字段拼凑起来的情况。
报错原因:mysql数据库latin和utf8混编连接
查询数据库编码情况
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
解决(把所有编码方式改成utf8mb4)
编辑/etc/mysql/conf.d/mysql.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
重启Mysql。
再次查询
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
注意
1.已经建立的数据库编码方式没法改变。需要对已创建的数据库、表单独修改。