对于mysql数据库中文乱码问题的解决(在所有的编码都是utf-8的情况下中文乱码)

在写jdbc链接mysqll数据库时,向其中插入中文数据出现乱码。查看了所有的配置,都是utf-8编码,my.ini配置文件也修改好了,还出现这样的乱码,实属不应该。

在各种博客论坛查找,都是修改数据库的编码的套路,其中也不乏有在连接数据库的链接url中加编码的,比如:“jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8;”(这里要注意的是不能出现空格)这种方法应该是有效的,但是我遇到的问题真的是奇葩。

通过熬夜彻查,发现是在往数据库中插入时间数据,格式转换导致整条数据出现转换,从而出现乱码。那条时间数据格式的代码:simpledateformat sdf = new simpledateformat("yyyy年MM月DD日 HH:mm:ss");其中的中文导致出现乱码,所以当去掉年月日的中文,换成杠杠“-”,再在驱动链接加上驱动链接的编码,成功解决插入数据的乱码问题。

所以有个时候,不一定是数据库编码的问题,有可能插入的那条数据本身有问题,所以好好的看看插入数据的来源。

你可能感兴趣的:(Bug研究所)