为什么用jquery ajax返回的都是UTF-8编码,能返回GB2312吗
答案:5 悬赏:0
解决时间 2021-04-27 07:40
- 提问者网友:霸道又专情♚
- 2021-04-26 20:16
我的原网站全部都是gb2312编码的
最佳答案
- 二级知识专家网友:闲懒诗人
- 2021-04-26 21:50
不可以的,AJAX只支持UTF-8编码,你可以通过编码转换来解决编码的问题,或将程序统一编码为UTF-8
全部回答
- 1楼网友:一场云烟
- 2021-04-27 02:03
可以的啊 设置页面编码
<meta charset="gb2312"/>
- 2楼网友:气场征服一切
- 2021-04-27 01:47
可以的啊 设置页面编码
- 3楼网友:深街酒徒
- 2021-04-27 00:10
可以的,把发送文档和接收文档都设置成GB2312的编码就可以。AJAX最忌不同编码的文档在一起。
GB2312-80字符集,中文名国家标准字符集(GB=GuóBiāo国标)。收入汉字6763个,符号715个,总计7478个字符,这是大陆普遍使用的简体字字符集。楷体-GB2312、仿宋-GB2312、华文行楷等市面上绝大多数字体支持显示这个字符集,亦是大多数输入法所采用的字符集。市面上绝大多数所谓的繁体字体,其实采用的是GB-2313字符集简体字的编码,用字体显示为繁体字,而不是直接用GBK字符集中繁体字的编码,错误百出。
- 4楼网友:一个很哇塞的汉子
- 2021-04-26 23:22
可以在ajax发送端使用escape方法。然后在接收端使用 unescape方法转换
例子:
gb2312.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<SCRIPT LANGUAGE="JavaScript" src="js/jquery-1.2.4.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
$(document).ready(function(){
$("#btn").click(function(){
$.get("php/gb2312.php",function(data){
$("#content").html(unescape(data));//这里unescape一下就可以了
})
});
});
//-->
</SCRIPT>
<title>无标题文档</title>
</head>
<body>
<div ID="btn">获得ajax中文</div>
<div ID="content"></div>
</body>
</html>
gb2312.php
<?
echo escape(" GB2312中文");
function escape($str) {
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
}
return join("",$ar);
}
?>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息