ajax乱码怎么解决?
一、ajax乱码解决办法
1. 在服务器指定发送数据的格式
在服务器指定发送数据的格式:
在jsp文件中
代码如下
response.setContentType(“text/text;charset=UTF-8″);//返回的是txt文本文件
或是
response.setContentType(“text/xml;charset=UTF-8″);//返回的xml文件
PHP:header(”Content-Type:text/html;charset=GB2312”);
2. PHP发送中文、Ajax接收只需在php顶部加入代码
PHP发送中文、Ajax接收
只需在php顶部加入一句:代码如下
header(‘Content-type: text/html;charset=GB2312′);
xmlHttp会正确解析其中的中文。
Ajax发送中文、PHP接收
这个比较复杂:
Ajax中先用encodeURIComponent对要提交的中文进行编码
PHP中:
代码如下
$GB2312string=iconv( ‘UTF-8′, ‘gb2312//IGNORE’ , $RequestAjaxString);
PHP写入MySQL数据库
建立conn时,query一下set names “gb2312″代码如下
iconv( “UTF-8″,”GBK” , $gametypes[name”]);乱码问题是AJAX取数据时产生乱码,本来页面是采用GBK编码的。后来显示为乱码,使用UE把它转换成UTF-8后,页面上原来的元素就可以显示正确了。但是,数据库取出来的值还是会乱码。
ob_get_contents ();
取出所有的显示数据,然后输出到日志文件,显示全是乱码。
使用UE把文件再转换成GBK,然后再输出,显示就正确了。
这里再使用:
代码如下
header(‘Content-Type:text/html;charset=GBK’);
前台页面显示就正常。
延伸阅读:
二、ajax乱码介绍
AJAX传值时采用的是UTF-8编码格式,客户端中文字符传输到服务器端时,如果服务器编码格式或者所采用的MVC框架的编码格式不是UTF-8,则很可能会出现中文乱码。解决办法如下:
客户端用js函数encodeURI()对中文字符进行两次编码,服务器端采用URLDecoder类对客户端传输过来的中文字符进行UTF-8格式的解码。
复制代码
$.ajax({
type: “post”,
url: “createNewGroup.action”,
data:“name=”+encodeURI(encodeURI(“张三”)),
success: function(msg){
alert(msg);
}
});
复制代码
服务器端代码:
String name = URLDecoder.decode(“客户端传输过来的中文字符”,“UTF-8”);
以上就是关于ajax乱码的内容希望对大家有帮助。

相关推荐HOT
更多>>
Java中方法与类的区别是什么?
一、方法的定义什么是方法?简而言之,方法就是解决问题的办法。在Java语言中,方法大多用于处理一些数据并得到结果,其包括以下几种要素:修饰...详情>>
2023-10-18 23:27:40
全角和半角的区别是什么?
一、全角和半角的区别1、输入效果不一样正常情况下全角在输入字母、数字的时候,它每两个字母之间的间隔是很大的,而半角输入状态下,两个字母...详情>>
2023-10-18 21:27:26
人工智能核心技术有哪些方面?
一、人工智能核心技术1. 深度学习机器学习是实现人工智能的一种重要方法。机器学习的概念来自早期的人工智能研究者,简单来说,机器学习就是使...详情>>
2023-10-18 17:18:04
ajax乱码怎么解决?
一、ajax乱码解决办法1. 在服务器指定发送数据的格式在服务器指定发送数据的格式:在jsp文件中代码如下response.setContentType(“text/text;ch...详情>>
2023-10-18 15:24:52