(java)jsp页面ajax发出请求返回json格式数据 中文乱码问题

Stainky 2013-05-25 01:26:32
后台代码:
Map<String, String> items = new HashMap<String,String>();
items.put("name", "李连杰");
items.put("sex", "男");
JSONObject jo = JSONObject.fromObject(items);
try {
PrintWriter out = response.getWriter();
response.setContentType("text/json; charset=UTF-8");
out.write(jo.toString());
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
前台代码:
$.ajax({
type : "post",
url : "salary/queryFormulaValueById.action",
data : "formulaID=" + formula,
dataType:"json",
success : function(items) {
alert(items.name);
},
beforeSend : function() {
$("#formulamsg").html("查询中...");
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("内部错误,请重新操作!");
}
});
页面头信息:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

success函数里面得到的items.name老是乱码(全是问号),实在无法解决,哪位大神能解决?不胜感激!!
...全文
497 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2013-05-25
  • 打赏
  • 举报
回复
jQuery的AJAX使用的是UTF-8编码
kittaaron 2013-05-25
  • 打赏
  • 举报
回复
一步步排查只有: 1. html页面的编码看起来是没有问题的(还应该看一看文本文件本身的编码是不是UTF-8编码格式的) 2. 在servlet里把request.setCharacterEncoding也设置一下 3. 确认服务器的编译环境没有问题(比如源文件是UTF-8格式编码的,但是服务器编译的时候指定以GBK方式编译,这个可能性比较小,一般服务器都有默认设置) 然后,就没有然后了。编码问题一般都不会是什么大问题!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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