最近在写一个简单的增删改查的代码时,遇到保存的中文都会变成问号(?),由于刚开始只是一些数据的保存,所以认为之后只要对数据库的编码进行修改即可,但是后来要对数据进行查找的时候发现根本查找不到,
当时用标准的sql语句都是可以查到了。所以就觉得更加奇怪了,记得当时自己还不甘心,试一下找一个不是中文内容的,结果对于英文以及数字都是正常的,所以更加肯定了是数据库的编码问题,于是查看了数据库的编
码方式,发现并没有问题,最后发现还是自己的数据库连接URL拼写的错误;
错误的连接方式:jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/zsy3?useUnicode=true&characterEncoding=UTF-8(针对自己的项目)
正确的连接方式:jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/zsy3?useUnicode=true&characterEncoding=UTF-8
二者相比,最大的区别就是在于那个&,最后发现在xml配置文件中配置数据库utl时,要使用&的转义字符&
由于数据连接是之前人写的,自己在配置过程中直接拷贝,然后自己的数据库又是直接进行UTF-8的编码方式,,所以导致了中文查询与保存的错误;实在不应该啊;