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
更多>>
为什么做因子分析?可以解决什么问题??
一、什么是因子分析?因子分析的起源是这样的,1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后...详情>>
2023-10-14 23:59:00
文本分析有哪些阶段?
一、文本分析有哪些阶段?要实施文本分析,您需要遵循包含 4 个阶段的系统性流程。第 1 阶段 — 数据收集在此阶段,您从内部或外部资源收集文本...详情>>
2023-10-14 23:00:09
计算机网络可以做什么?
一、什么是计算机联网?计算机联网是指相互连接的计算设备,它们可以相互交换数据和共享资源。这些联网设备利用称为通信协议的规则系统,通过物...详情>>
2023-10-14 19:39:09
云存储有哪些类型?
一、云存储有哪些类型云存储主要有三种类型:对象存储、文件存储和数据块存储。每种类型都有自己的优势和对应的使用场景。1、对象存储组织必须...详情>>
2023-10-14 18:59:10