Java 使用jQuery ajax和servlet的阿拉伯语数据
实际上,我正在尝试使用jQueryAjax将阿拉伯语数据发送到Servlet 但当我试图在页面上重新打印这些数据时,它显示为 ØØØØØØ 这是我的jQuery ajax代码Java 使用jQuery ajax和servlet的阿拉伯语数据,java,jquery,jsp,servlets,character-encoding,Java,Jquery,Jsp,Servlets,Character Encoding,实际上,我正在尝试使用jQueryAjax将阿拉伯语数据发送到Servlet 但当我试图在页面上重新打印这些数据时,它显示为 ØØØØØØ 这是我的jQuery ajax代码 jQuery.ajax({ url: "/SearchedCoursesGetter", contentType: "application/x-www-form-urlencoded;charset=UTF-8", dataType:
jQuery.ajax({
url: "/SearchedCoursesGetter",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
dataType: "text",
data: {
'searchKey': 'حديث'
},
success: function( data ) {
document.write(data);
}));
}
});
这是Javaservlet中的代码
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF8");
PrintWriter out = response.getWriter();
out.print( request.getParameter("searchKey"));
任何人都可以帮助我吗?将此添加到JSP的顶部
<%@ page pageEncoding="UTF-8" %>
这将隐式地在JSP本身上执行response.setHeader(“Content-Type”、“text/html;charset=UTF-8”)
和response.setCharacterEncoding(“UTF-8”)
。这样,浏览器将把文档(以及文档上的所有JS)解释为UTF-8
您还需要确保JSP/JS文件保存为UTF-8。根据使用的编辑器,选中编辑器设置和/或另存为选项
请注意,request.setCharacterEncoding(“UTF-8”)
仅对POST请求有效,对GET请求无效。对于GET请求,您需要在servletcontainer级别对其进行配置。例如,在Tomcat中,您需要将URIEncoding=“UTF-8”
属性添加到/conf/server.xml
中的
另见:
jQuery.ajax()
默认为GET。因此,该参数以请求URI而不是请求正文结束。您还需要配置servletcontainer以将URI解释为UTF-8。请参阅更新的答案(顺便说一句,“请参阅”链接中也提到了这一点)。是的,非常感谢,这就是Tomcat,您需要在in/conf/server.xml中添加URIEncoding=“UTF-8”属性。