千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:武汉千锋IT培训  >  技术干货  >  ajax乱码怎么解决?

ajax乱码怎么解决?

来源:千锋教育
发布人:xqq
时间: 2023-10-18 15:24:52

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

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

set和set up有什么区别呢?

2023-10-18

项目进度表怎么做?

2023-10-18

如何设计测试用例?

2023-10-18

最新文章NEW

Java中类与静态类的区别是什么?

2023-10-18

php开发工具哪个好用?

2023-10-18

计算机网络资源共享主要是指什么?

2023-10-18

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>