php4 下如何解决escape问题 google下巴,有gb2313到utf-8转换的函数,用个码表 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PHP程序输出中指定charsetheader('Content-Type:text/xml;charset=GB2312'); 在ajax应用中,下行的数据对编码没有特别的要求。只要在php输出时声明一下语言类型就可以了上行的数据应该自行用url编码函数进行编码,以免被浏览器自作聪明的搞乱编码时要用encodeURIComponent函数而不是escape函数用encodeURIComponent函数后的数据是utf-8编码的,如果页面使用的也是utf-8编码的话,那就正好啦如果页面采用非utf-8编码,那么就要做编码转换了。当iconv函数不可用时,应使用查表法自行开发转换函数。网上也有很多现成的东西可以下载,如果你同时在使用jpGrapch,那么恭喜你了。你已经拥有转换函数和对照表了。其实自己做一张对照表也是很容易的事情 下面方法加入你的php文件,可以实现对js用 escape方法编码后的解码function unescape($str) { // 对js的编码进行解码 $str = rawurldecode($str); preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u") $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); elseif(substr($v,0,3) == "&#x") $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); elseif(substr($v,0,2) == "&#") $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); } return join("",$ar); } 关于上传图片问题 [求助]用curl采集一个页面,返回过来的为什么是bool值,怎么把值转成群组,并用正则匹配? simple html dom获取网页图片的进阶问题 PHP解析XML的问题,高手来解决一下阿 echo "abc".pc::power(),为什么abc输出在后面 php+sqlserver 取记录时得到id的问题,在线等 unix下的php怎么操作excel文件?急!!! PHP时间格式转换方法 在线等待快啊! 急!!从哪里可以得到PHP的中文帮助手册? php5下多进程的问题 谁用NuSphere开发Php项目?
header('Content-Type:text/xml;charset=GB2312');
上行的数据应该自行用url编码函数进行编码,以免被浏览器自作聪明的搞乱
编码时要用encodeURIComponent函数而不是escape函数
用encodeURIComponent函数后的数据是utf-8编码的,如果页面使用的也是utf-8编码的话,那就正好啦
如果页面采用非utf-8编码,那么就要做编码转换了。当iconv函数不可用时,应使用查表法自行开发转换函数。网上也有很多现成的东西可以下载,如果你同时在使用jpGrapch,那么恭喜你了。你已经拥有转换函数和对照表了。
其实自己做一张对照表也是很容易的事情
{ // 对js的编码进行解码
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#")
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
return join("",$ar);
}