问题描述:在利用JQuery的$.get()方式url?username=**异步传
中文时,IE出现乱码,而FF是好的!
解决方案:在查资料过程中,获得以下信息,通过浏览器传值时,IE(默认是以UTF-8传值[高级里面可以查看])或FF都是以UTF-8方法传值的,而当通过各种中间件传到后台时中间件又会以ISO-8859-1的方式再次转码,这就是为什么我们在后台可以通过
new String(getRequest().getParameter("dish").getBytes("ISO-8859-1"), "UTF-8")来得到中文的原因!
但是这次很诡异的事情是这样做了,但是IE下仍然出现乱码,FF却是好的!
最后得知在前台传输时加上encodeURI()方法可以解决此问题,这个函数可以解决IE下的怪癖!!
具体实现有两种:
一、
客户端$.get("doupdmenudetail.shtml?param="+encodeURI(param),null,function(data)
服务器端new String(getRequest().getParameter("dish").getBytes("ISO-8859-1"), "UTF-8")
二、
客户端$.get("doupdmenudetail.shtmlparam="+encodeURI(encodeURI(param)),null,function(data)
这里之所有加两个是因为这样代码更加灵活,无论你中间件是否以ISO-8859-1进行转码都不会影响程序,服务器端这样解析:
params=URLDecoder.decode(request().getParameter("param"),"UTF-8");
分享到:
相关推荐
在实际开发中,可以结合使用以上方法来解决Ajax中文乱码问题。例如,可以使用jQuery的`$.ajax`方法,设置`contentType`和`dataType`属性,以及在成功回调函数中处理响应数据: ```javascript $.ajax({ url: 'your-...
综上所述,解决Ajax中文乱码问题的关键在于确保客户端和服务器之间的一致性,包括请求头的设置、数据编码和解码以及页面本身的编码设置。在实际应用中,尽可能使用UTF-8作为统一编码标准,可以减少许多编码问题。...
总的来说,解决Ajax中文乱码问题的关键在于明确和统一字符编码。通过设置请求头、响应头、统一前后端编码以及必要时的数据转换,我们可以有效地避免和修复这个问题。在实际开发过程中,良好的编码规范和测试实践也是...
本教程将详细介绍如何解决AJAX中文乱码问题,以在Windows Server 2008环境下为例,但原理适用于其他操作系统。 首先,我们需要理解乱码产生的原因。乱码通常是由字符编码不一致引起的。服务器和客户端之间传输的...
本文将详细探讨如何解决Ajax请求过程中的中文乱码问题,并提供具体的解决方案。 #### 二、问题分析 在使用Ajax进行数据传输时,中文乱码问题通常出现在以下两个环节: 1. **发送表单数据时中文乱码**:当通过Ajax...
### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...
### 解决AJAX请求中的中文乱码问题 在进行Web开发的过程中,经常遇到的一个问题是中文字符的编码问题,尤其是在使用AJAX技术时。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,...
以下是一些解决Ajax中文乱码问题的方法: 1. **方法一:使用`encodeURI`编码** 当使用jQuery的Ajax方法发送包含中文字符的数据时,如`type: '商品'`,在发送前需对中文数据进行两次`encodeURI`编码。修改后的代码...
UTF-8编码是一种常见的Unicode实现,它使用1到4个字节来表示每个Unicode字符,对于中文汉字,通常每个字占用3个字节。因此,当Ajax发送或接收UTF-8编码的数据时,理论上不应出现乱码。 然而,乱码问题可能源于以下...
本文将详细讲解如何解决C# Ajax Post数据乱码问题。 ### 一、理解问题根源 首先,我们需要了解为什么会出现乱码的情况。这通常是因为客户端和服务器端对于字符编码的理解不一致所导致的。具体来说,如果客户端使用...
以下是一些解决Ajax中文乱码问题的方法: 1. **请求头设置**: 当发送Ajax请求时,需要确保请求头中的`Content-Type`字段正确设置。通常,我们应该将其设置为`"application/x-www-form-urlencoded; charset=utf-8...
为了解决AJAX提交中文乱码的问题,可以从以下几个方面入手: ##### 1. 客户端编码处理 - **使用`URLEncoder`编码**:在发送请求之前,可以先使用Java的`URLEncoder.encode()`方法将中文字符串进行编码,然后再发送...
### AJAX解决中文乱码(Java/JSP) #### 知识点概述 在Web开发中,尤其是在使用Java...综上所述,通过合理的前端编码、后端解码及响应字符集设置,可以有效地解决AJAX传输中文乱码的问题,确保数据的完整性和准确性。
为了解决AJAX中文乱码问题,常见的方法包括: 1. 使用encodeURIComponent进行编码 通过对发送的数据使用encodeURIComponent函数进行编码,可以转换数据格式,使其适应URL传输规范。然后,需要确保服务器端使用相应...
一、解决Ajax乱码问题 Ajax发送和接收数据时,乱码问题主要出现在两个环节:发送请求时的数据编码和服务器返回数据的解码。以下是解决乱码的关键步骤: 1. 数据编码:在发送Ajax请求前,确保你的数据已经正确编码...
解决AJAX中文乱码的关键在于确保整个系统中所有组件使用相同的字符编码。最常用的编码是UTF-8,因为它支持全球大多数语言字符,且在Web标准中被广泛推荐。 以下是一种利用Java Filter实现字符编码统一的方法: 1. ...
解决Ajax乱码问题的关键在于确保整个数据传输链路上的编码一致性。 1. **字符编码** - **UTF-8**:广泛使用的编码格式,支持多种语言,包括中文,且与CPU字节顺序无关,具有较高的容错能力。 - **GBK/GB2312**:...
总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...
在Jquery中,解决Ajax提交乱码的关键在于正确地设置请求头(Header)中的`Content-Type`字段,确保客户端发送数据时使用的字符编码与服务器端所期待的字符编码相匹配。具体来说,可以设置`Content-Type`为`...