MariaDB新增数据报错:
SQL 错误 [1366] [22007]: (conn=17) Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89’ for column `SAOS`.`user`.`userName` at row 1
SQL语句如下:
INSERT into `user` values(1, "张三","123456");
这个原因的产生是编码问题,我们可以查看数据库字符集编码:
SHOW VARIABLES LIKE 'character%';
Variable_name |Value |
———————— +—————————-+
character_set_client |utf8mb4 |
character_set_connection |utf8mb4 |
character_set_database |latin1 |
character_set_filesystem |binary |
character_set_results |utf8mb4 |
character_set_server |latin1 |
character_set_system |utf8 |
character_sets_dir |/usr/share/mariadb/charsets/|
上面是显示的结果。可以看到有两个latin1编码。所以要修改编码,找到my.ini文件:
whereis my.ini
结果如下:
my: /etc/my.cnf
那就是说是这个文件代替了my.ini,我们修改这个文件。
增加两行配置:
default-character-set=utf8
character-set-server=utf8
注意,这个文件在修改的时候会告诉你它是只读的,你要给他赋权:
sudo chmod 777 /etc/my.cnf
然后重启MariaDB。
systemctl restart mariadb.service
需要身份认证,我们输入密码就可以了。
然后再查看数据库字符集编码:
这样再插入刚才的数据,结果还是报错。看来还需要继续修改配置文件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2717.html