sqlserver 存入DB中的中文乱码

在war包中的appliation.properties中,配置的数据库连接做了修改,也不知道当初为什么这么改

导致存入DB中的中文是???

testaaa.jdbc.type=mssql
testaaa.jdbc.driver=com.inet.tds.TdsDriver

#UAT
testaaa.jdbc.url=jdbc:xx:xxxx:1433?database=xxx
testaaa.jdbc.username=xxx
testaaa.jdbc.password=xxxxx
#
##PROD
#testaaa.jdbc.url=jdbc:xx:xxxx:1433?database=xxx&useUnicode=true&characterEncoding=UTF-8
#testaaa.jdbc.username=xxx
#testaaa.jdbc.password=xxxxx

解决是将加黑部分删除即可。 

关于原因吗,之前新增过一个数据库,应该没有人关注过DB的默认字符编码,测试的时候用的是Chinese_PRC_CI_AS字符编码的DB

 我只见过mysql链接的时候需要配置字符编码,oracel和sqlserver没有见过这样的链接配置

上线的时候,新DB可能不是,

然后开发发现了问题,就在数据库连接上面增加了上面加黑部分

后来不知道是否有人看到了默认字符集的问题,又在默认字符集的基础上改成了中文Chinese_PRC_CI_AS;

而此时db连接已经更改过,就又出现了乱码的问题。

SSMS-->数据库引擎-->数据库-->数据库属性-->选项-->字符集,修改为中文字符集就行了,

原文地址:https://www.cnblogs.com/qianjinyan/p/10057333.html