通过数据库接口获取到的中文数据是问号怎么办?

BladeSoul228 2016-01-13 10:29:18
大致情况是:我通过SpringMVC+Hibernate做的一个接口,
数据库是MySql,字段类型是Text,字符集是utf8,排序规则是utf8-general-ci。
通过MyEclipse连接数据库的时候在URL中也加了“?characterEncoding=UTF8” 这句话设置了UTF-8格式。
在MyEclipse的控制台中输出的中文是正常的中文,但是为什么到了浏览器和安卓端测试接口的时候中文就变成了问号了呢?
所以,在Annotation的@Controller中怎么设置传出来的数据是UTF-8格式。?我没有Jsp页面,是直接将数据返回给一个安卓代码的String对象(String对象是通过一个Url得到数据库中的数据,返回Json格式),然后解析Json,最后使用这个数据。
或者说有别的方式可以不用在@Controller中设置编码格式?

分实在是不多就还剩了20分,所以就有点少了。。。
...全文
853 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
田小瘦 2016-01-13
  • 打赏
  • 举报
回复
确保前台后台数据编码都是一样的。
简单简单小白 2016-01-13
  • 打赏
  • 举报
回复
建议看一下是不是数据库的编码有问题
BladeSoul228 2016-01-13
  • 打赏
  • 举报
回复
引用 5 楼 LYH_KING 的回复:
[quote=引用 3 楼 BladeSoul228 的回复:] [quote=引用 1 楼 LYH_KING 的回复:] @RequestMapping(value = "/****", produces = "text/plain;charset=UTF-8")
表示,都加了,中文也还是问号。。。[/quote]response.setCharacterEncoding("UTF-8");[/quote] 没有Jsp页面写Response有用么?我直接返回的是获取到的Json格式的String型数据。
  • 打赏
  • 举报
回复
你设个断点,看看是不是从dao获取到的数据的时候就已经是乱码了,如果是,那就去设置数据库和链接的编码 如果不是,那说明是你的后台到页面的时候数据乱码了
马七甲 2016-01-13
  • 打赏
  • 举报
回复
引用 3 楼 BladeSoul228 的回复:
[quote=引用 1 楼 LYH_KING 的回复:] @RequestMapping(value = "/****", produces = "text/plain;charset=UTF-8")
表示,都加了,中文也还是问号。。。[/quote]response.setCharacterEncoding("UTF-8");
BladeSoul228 2016-01-13
  • 打赏
  • 举报
回复
引用 1 楼 LYH_KING 的回复:
@RequestMapping(value = "/****", produces = "text/plain;charset=UTF-8")
表示,都加了,中文也还是问号。。。
马七甲 2016-01-13
  • 打赏
  • 举报
回复 1
@RequestMapping(value = "/****", produces = "text/plain;charset=UTF-8")
BladeSoul228 2016-01-13
  • 打赏
  • 举报
回复
引用 1 楼 LYH_KING 的回复:
@RequestMapping(value = "/****", produces = "text/plain;charset=UTF-8")
这个Produces也要加么?还是只加一个Charset就可以了?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧