sql server 数据库查询 json 数据乱码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sql server 数据库查询 json 数据乱码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1638字,纯文字阅读大概需要3分钟。
内容图文
![sql server 数据库查询 json 数据乱码](/upload/InfoBanner/zyjiaocheng/1145/ce3cb33d9dff4dc989155e29af22ccd4.jpg)
sql server 数据库使用正常,页面没有乱码,但是在一张表里的一个属性(属性类型:varchar(max))存放了 json 字符串,并且查出来后就是乱码,导致反 json 序列化报如下错:
com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘?‘ (code 8827 / 0x227b)): expected a valid value (number, String, array, object, ‘true‘, ‘false‘ or ‘null‘)
at [Source: (String)"?敲瑣晩捩瑡潩?慥畳敲????????瀢慬?浯汰瑥呥浩≥??????ㄠ?????"; line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:693)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:591)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1902)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:757)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4141)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4000)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3004)
解决方法是将存储 json 字符串的属性类型改成:nvarchar(max)。
varchar 存储的是非 Unicode 的字符。
nvarchar 存储的是 Unicode 字符。
那为什么其它 varchar 属性的中文没有乱码呢,可能是由于数据库设置的字符编码是 Chinese_PRC_CI_AS
中文字符集。
select SERVERPROPERTY(N‘edition‘) as Edition --数据版本,如企业版、开发版等
,SERVERPROPERTY(N‘collation‘) as Collation --数据库字符集
,SERVERPROPERTY(N‘servername‘) as ServerName --服务名
,@@VERSION as Version --数据库版本号
,@@LANGUAGE AS Language --数据库使用的语言,如us_english等
SELECT COLLATIONPROPERTY( ‘chinese_prc_ci_as‘, ‘codepage‘ )
原文:https://www.cnblogs.com/wu726/p/13654640.html
内容总结
以上是互联网集市为您收集整理的sql server 数据库查询 json 数据乱码全部内容,希望文章能够帮你解决sql server 数据库查询 json 数据乱码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。