时间: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中文乱码问题处理
标签: