java - 使用 jQuery-ajax 和 Servlet 的阿拉伯语数据

标签 java jquery jsp servlets character-encoding

实际上我正在尝试使用 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/

相关文章:

css - 如何在没有 html head 标签的情况下将外部 css 文件添加到 AngularJS

java - Jersey 可见导致 404

java - 每当上下文加载(tomcat 启动)时,如何在 java web 应用程序中自动运行 servlet/action

java - 从 Application 类重写 getSingletons 方法时,Ejb 查找失败

java - mvn测试非常非常慢

java - 添加代码后,视频无法启动并且 JPEG 不再显示

javascript - 如何让escape键改变url?

java - 将图像从android java发送到pc上的c#服务器

javascript - 如何在 jQuery serialize() 函数中包含按钮值?

jQuery 日期选择器 : Select Weeks at a Time