创建表时,我设置了charset = utf8。
我创建了1个存储过程来将数据插入数据库。
奇怪的是插入UTF8 在窗口中正常工作,但是当我在linux中部署MySQL时,当向数据库插入数据时,它会插入错误的UTF8 值。
感谢您的帮助
编辑:更新更多详细信息请关注@Col的评论。弹片
答案 0 :(得分:11)
您应该使用--default-character-set = utf8:
启动mysql控制台mysql --default-character-set=utf8 -uyour_user -p
答案 1 :(得分:3)
很可能您没有通过发出SET NAMES UTF8
查询
但可能存在其他问题 - 您的数据库或网页可能不在utf-8
中答案 2 :(得分:2)
我刚刚找到了解决问题的方法:在/etc/my.cnf下编辑文件my.cnf,如下所示:
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
[client]
default-character-set=utf8
但我仍然困惑为什么这个错误发生在Linux中,而不是在Window中。