在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-->數據庫引擎-->數據庫-->數據庫屬性-->選項-->字符集,修改為中文字符集就行了,