【mysql】插入时中文变为??
问题提出:在阿里云服务器上部署了window 2007的环境,将java web项目发布在tomcat上。发现一个bug,在执行insert语句时,中文在mysql中变为??。但是在我自己的机器上执行时没有问题。
解决方案:
有文章说是没有设置database的编码,查看了一下
注意到character_set_database的值的确为utf8,如果不是则修改为utf8。
修改命令为set character_set_database = ''utf8"' ;
修改完成后,休要重启mysql,并且删除原有数据库,再新建数据库,因为原有数据库的默认编码不是utf8。这样话一般就可以避免“问号”问题了。
但是,好吧,最烦的就是但是问题。但是,在我的阿里云服务器上依然问题未解决。
怎么办呢?现在就不是数据库的问题了,而是自己代码的问题。
在链接数据库时我只写了数据库的url,未加“?useUnicode=true&characterEncoding=utf-8”,加上这段之后问题成功解决。
下面是我数据库配置文件: