• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

ajax乱码怎么解决

ajax乱码解决办法:1. 在服务器指定发送数据的格式;2. PHP发送中文、Ajax接收只需在php顶部加入代码。其中,在jsp文件中response.setContentType(“text/text;charset=UTF-8″);//返回的是txt文本文件或是response.setContentType(“text/xml;charset=UTF-8″);//返回的xml文件。

一、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乱码的内容希望对大家有帮助。

相关文章