url 编码 解码问题(急)
ajax url 传中文 全部是utf-8
我在我机子上 js时 encodeuri 编了两次后
后台 decode 就可以了
现在我换了台机子 就变问号了 一个字一个问号
上传到空间也是问号
后台我 在request.getparameter 时 sysout输出 是%XX 是对的
解码后 输出 就是问号了 (原来是对的啊)
郁闷...
怎么试都没出来(例如 只编一次 等等)
------解决方案--------------------编码问题原因很多种的。
看下你的web服务器设置,数据库设置,和提交表单时的编码设置……
------解决方案-------------------- function unescapeAction($str) { //反解js页面提交过来的汉字escape编码
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++) {
if ($str[$i] == '%' && $str[$i+1] == 'u') {
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f){
$ret .= chr($val);
}else if($val < 0x800){
$ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
}else{
$ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f)); $i += 5;
}
} else if ($str[$i] == '%') {
$ret .= urldecode(substr($str, $i, 3)); $i += 2;
} else{
$ret .= $str[$i];
}
}
return $ret;
}