当前位置:Gxlcms > 数据库问题 > springmvc mybatis mysql blob中文乱码问题处理

springmvc mybatis mysql blob中文乱码问题处理

时间:2021-07-01 10:21:17 帮助过:3人阅读

近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码

最初在mybatis配置如下

 

?
1 2 3 <select id="queryContentById"  resultType = "java.lang.String"  parameterType="String"  >         select text from News where id=#{o}  </select>

 

其中表News的text字段为blob类型

如此查出的text值在控制台中一直显示乱码。

之后google查找相关resultType=blob相关内容无果,遂将其改为resultType = "java.util.Map" ,且

 

?
1 2 byte[] b = (byte[]) map.get("text"); String s = new String(b,"utf-8");

 

打印出s,此时中文正常显示,但页面显示依旧乱码。

因此处为ajax请求,遂检查响应头信息,查出如下

 

Content-Typetext/html;charset=ISO-8859-1

 

由于数据库中统一为编码为utf-8,故修改响应头信息

 

 
1 2 3 4 5 6 7 @RequestMapping(value = "/queryContentById", method = RequestMethod.GET,produces = "text/plain;charset=UTF-8") public @ResponseBody String queryContentById(@RequestParam("id") String id) throws SQLException, UnsupportedEncodingException {     Map map = (Map) ndrService.queryContentById(id);     byte[] b = (byte[]) map.get("text");     String s = new String(b,"utf-8");     return s; }

 

请参看以下资料:

http://www.itnose.net/detail/6074493.html

springmvc mybatis mysql blob中文乱码问题处理

标签:

人气教程排行