Php中的转码问题?

lj_0225 2007-07-13 10:00:44
我将一行中文用Javascript写入COOKIE,然后用PHP将他读出来,显示在页面上就变成了‘%u8BFA%u57FA%u4E9A NOKIA 5200’这样的,请问怎么才能将他转化汉字?先在这里谢过了!
...全文
279 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj_0225 2007-07-13
  • 打赏
  • 举报
回复
谢谢了!
julychina 2007-07-13
  • 打赏
  • 举报
回复
//PHPURL编码转换
function encodeURIComponent($text) {
preg_match_all("/[\x81-\xfe]?./",$text,$regs);
$rtext = "";
foreach($regs[0] as $v) {
$ch = iconv("gb2312","UTF-8",$v);
$rtext .= sprintf("%%%02X%%%02X%%%02X",ord($ch[0]),ord($ch[1]),ord($ch[2]));
}
return $rtext;
}

function escape($str){
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr);
$ar = $newstr[0];
foreach($ar as $k=>$v){
if(ord($ar[$k])>=127){
$tmpString=bin2hex(iconv("GBK","ucs-2",$v));
if (!eregi("WIN",PHP_OS)){
$tmpString = substr($tmpString,2,2).substr($tmpString,0,2);
}
$reString.="%u".$tmpString;
} else {
$reString.= rawurlencode($v);
}
}
return $reString;
}


function unescape($str) {
$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"){
if (!eregi("WIN",PHP_OS)){
$tmpString = "%u".substr($v,4,2).substr($v,2,2);
}
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($tmpString,-4)));
}
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GB2312",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}



自己选,注意编码

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧