后端返回ajax请求的返回值中乱码:???? 首先应该在新建一个工作空间的时候,就统一设置下编码的,结果项目写到一半了,才想起来项目的编码是myeclipse默认的,在controller中返回json对应的字符串,通过ajax请求读取到的是????,而项目代码中很多中文,不方便重新再写,在http://blog.csdn.net/hellojol/article/details/46558805这篇博客中,找到了解决办法:
@RequestMapping(value=
"/book/getBook.do", produces =
"text/html;charset=UTF-8")
public @ResponseBody String getBook(String name){
List<Book> list =bookService
.getBook()
for(Book bo:list){
System
.out.println(
"id:"+bo
.getId()+
" name:"+bo
.getName()+
" author:"+bo
.getAuthor())
}
String json = JSONObject
.toJSONString(list)
System
.out.println(
"json:"+json)
return json
}
即:在@RequestMapping中,添加produces = "text/html;charset=UTF-8"
2. jsp引入js文件显示乱码 问题描述: js文件中含有中文,在jsp文件中引入该js文件,显示在页面时是乱码 解决方案:
首先一点是要确定整个项目的编码,项目上右击->property其次要确认js文件的编码,当项目编码是默认编码,而jsp文件是utf-8编码时,js文件的编码时项目编码,需要用另外的编辑器打开,以utf-8的格式重新保存最后在jsp文件中引入js文件时,设置引入的编码为utf-8。