实际上我正在尝试使用 jQuery ajax 将阿拉伯语数据发送到 Servlet
但是当我尝试在页面上重新打印这些数据时,它显示为
برÙØØØ©
这是我的 jQuery ajax 代码
jQuery.ajax({
url: "/SearchedCoursesGetter",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
dataType: "text",
data: {
'searchKey': 'حديث'
},
success: function( data ) {
document.write(data);
}));
}
});
这是java servlet中的代码
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF8");
PrintWriter out = response.getWriter();
out.print( request.getParameter("searchKey"));
任何人都可以帮助我吗?
最佳答案
将其添加到您的 JSP 顶部
<%@ page pageEncoding="UTF-8" %>
这将隐式执行 response.setHeader("Content-Type", "text/html;charset=UTF-8")
和 response.setCharacterEncoding("UTF-8")
在 JSP 本身上。这样,浏览器会将文档(以及其中的所有 JS)解释为 UTF-8。
您还需要确保您的 JSP/JS 文件保存为 UTF-8。检查编辑器设置和/或另存为选项,具体取决于所使用的编辑器。
请注意 request.setCharacterEncoding("UTF-8")
只影响 POST 请求,不影响 GET 请求。对于 GET 请求,您需要在 servletcontainer 级别配置它。例如在 Tomcat 中,您需要添加 URIEncoding="UTF-8"
属性为 <Connector>
在 /conf/server.xml
.
另见:
关于java - 使用 jQuery-ajax 和 Servlet 的阿拉伯语数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200541/