无法在Linux中将UTF8插入数据库MySQL

时间:2010-04-13 13:32:28

标签: mysql linux utf-8

创建表时,我设置了charset = utf8。

我创建了1个存储过程来将数据插入数据库。

  1. 将数据UTF8插入到窗口上的数据库时,它可以正常工作(正确显示数据)
  2. 但它在Linux中不起作用。(显示数据不正确)
  3. 奇怪的是插入UTF8 在窗口中正常工作,但是当我在linux中部署MySQL时,当向数据库插入数据时,它会插入错误的UTF8 值。

    感谢您的帮助

    编辑:更新更多详细信息请关注@Col的评论。弹片

3 个答案:

答案 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中。