【Java】【jquery】ajax乱码问题

1、建议HTML、JSP文件本身采用UTF-8格式

2、HTML的head中增加:

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

3、JSP文件头增加

<%@ page contentType="text/html;charset=utf-8" pageEncoding="UTF-8"%>

4、其中第2、3点也可通过Filter实现:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;

if (req.getHeader("X-Requested-With") != null && req.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest")) {

request.setCharacterEncoding("utf-8");

} else {

request.setCharacterEncoding("gbk");

}

chain.doFilter(request, response);

}

5、在你的tomcat或者jboss的server.xml文件中Connector标签下加上:URIEncoding="UTF-8"

这一点是关键、一般中间件默认的编码格式是iso8859-1、iso8859-1能显示中文,但是对中文的支持不是很好,有些生僻字无法显示。

如果没有这一步的设置就需要采用以下方法转码:new String(request.getParameter("chnlName").getBytes("iso8859-1"),"utf-8")





时间: 2024-10-14 10:40:58

【Java】【jquery】ajax乱码问题的相关文章

jQuery Ajax传值给Servlet,在Servlet里接受参数乱码的解决方法

最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/ht

jquery.ajax的url中传递中文乱码问题的解决方法

jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1 ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符. JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题. 而我们的UTF-8

Java程序员之JS(一) 之 JQuery.ajax

背景:紧着现在项目的需要,先从JQuery.ajax出发,主要需求是通过 js 调用Java 代码,从而适应现在的项目. 先从几个概念开始讲解: 一. 什么是Deferred  Deferred 对象是由.Deferred构造的, .Deferred被实现为简单工厂模式.它是用来解决JS中的异步编程,遵循 Common Promise/A规范,实现此规范的还有when.js 和 dojo. Deferred 对象在 JQuery 1.5被引入,用来解决 Ajax 异步优化问题,正是由于 Defe

jquery ajax post提交数据乱码

在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码, 自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件 chrome和ie都没有指定,所以出现乱码问题. 解决方法: 复制代码代码如下: $.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=ut

jquery ajax()方法传值乱码问题

 今天在用jquery.ajax()方法时,页面传的中文值到后台是乱码,后台总结了下解决这个问题有两个方法: 方法一: 用方法encodeURI() 后台不用做什么处理即可.我这的编码为UTF-8,如下所示: $.ajax({ url:"getIsAddWorkToday.action?1=1&workName="+encodeURI(empName), cache:false, type:"post", contentType:"text/h

jquery ajax传值,get方式后台中文乱码

通过jquery ajax传值,后台出现中文乱码,经过一番摸索后发现原来客户端浏览器通过get方式传递到项目后台时,编码格式是ISO-8859-1,需要我们在后台经过转码才能正常使用.方法如下: str = new String(str.getBytes("ISO-8859-1"), "utf-8"); 需要注意的是,如果在本地测试,后台解析的默认字符编码是gb2312,则不需转码,因此代码修证为: if(!StringUtil.getEncoding(str).e

Java基础101 Struts2下的 jquery+ajax+struts 技术实现异步刷新功能

1.效果图示 横线上方的部分不动(没有刷新),下方实现刷新(异步刷新) 2.实现步骤 jquery+ajax+struts技术实现异步刷新功能的步骤:    1.需要用到 jquery+ajax+struts 那么需要用几个包:(commons-logging-1.0.4.jar.freemarker-2.3.13.jar.ognl-2.6.11.jar.struts2-core-2.1.6.jar.xwork-2.1.2.jar.commons-fileupload-1.2.1.jar)   

jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)(转)

版权声明]:版权归作者所有,转载时请以超链接形式标明文章原始出处和作者信息及本声明:http://www.open-lib.com/Forum/Read_69_1.action 前言: 当jquery ajax在utf-8编码下(页面utf-8,接收utf-8),无任何问题.可以正常post.get,处理页面直接获取正确的内容. 但在以下情况下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POST ->GBK 后台代码无法获取正确的内容,通常表现为获

利用jquery.ajax在jsp页面动态生成table,可以增加修改,并支持一行和多行删除

声明:此为本人原创,只想实现功能,界面样式方面没多考虑,很粗糙能看懂就行--2018-5-14 动态生成table,我利用jsp内嵌java代码从后台获取对象集合,输出的时候有2中方法 1.直接利用java代码for(b1 b:bs)输出 2.利用JSTL标签库的c:foreach输出 不同之处在于,利用c:foreach输出要把获取的对象集合加入到request,然后用${}来读取,而for(b1 b:bs)可以直接输出. 第一种方法--for(b1 b:bs)输出<table id="

jQuery AJAX 网页无刷新上传示例

新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 (不论是否 ASP.NET),内附的 FileUpload 控件,功能不足 (页面必须刷新.不支援 AJAX),或外观太丑被用户嫌弃 (却无法透过 CSS 自定义外观).网路上虽已有许多可用的示例,如: jQuery File Upload,但功能太强大.外观复杂,欲仅取出部分功能来引用,反而不易