【mysql】插入时中文变为??

问题提出:在阿里云服务器上部署了window 2007的环境,将java web项目发布在tomcat上。发现一个bug,在执行insert语句时,中文在mysql中变为??。但是在我自己的机器上执行时没有问题。

解决方案:

有文章说是没有设置database的编码,查看了一下

【mysql】插入时中文变为??

【mysql】插入时中文变为??

注意到character_set_database的值的确为utf8,如果不是则修改为utf8。

修改命令为set character_set_database = ''utf8"' ; 


修改完成后,休要重启mysql,并且删除原有数据库,再新建数据库,因为原有数据库的默认编码不是utf8。这样话一般就可以避免“问号”问题了。


但是,好吧,最烦的就是但是问题。但是,在我的阿里云服务器上依然问题未解决。

怎么办呢?现在就不是数据库的问题了,而是自己代码的问题。

在链接数据库时我只写了数据库的url,未加“?useUnicode=true&characterEncoding=utf-8”,加上这段之后问题成功解决。

下面是我数据库配置文件:

【mysql】插入时中文变为??【mysql】插入时中文变为??