汉字编码:如何写?

zwp315 2004-12-02 02:34:15
进入钓鱼场时需要

进入钓鱼场时需要


如何把汉字编为上面这种字符窜?
如何把字符窜显示为汉字?
...全文
153 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hflsj 2004-12-02
  • 打赏
  • 举报
回复
顶一下
xuzuning 2004-12-02
  • 打赏
  • 举报
回复
可以这么写
<?php
$some_string = "进入钓鱼场时需要";

echo unescape($some_string);

$some_string = "进入钓鱼场时需要";

echo escape($some_string);


/** 等价于js的escape函数 **/
function escape($str,$ch='&#') {
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
switch($ch) {
case '&#':
$ar[$k] = '&#'.hexdec(bin2hex(iconv("GB2312","UCS-2",$v))).';';
break;
case '&#x':
$ar[$k] = '&#xu'.bin2hex(iconv("GB2312","UCS-2",$v)).';';
break;
case '%u':
$ar[$k] = '%u'.bin2hex(iconv("GB2312","UCS-2",$v));
break;
}
}
return join("",$ar);
}

/** 等价于js的unescape函数 **/
function unescape($str) {
/** 回调函数 **/
function unescape_callback($r) {
if($r[1] || $r[2])
return iconv("UCS-2","GB2312",pack("H4",$r[1].$r[2]));
if($r[3])
return iconv("UCS-2","GB2312",pack("n",$r[3]));
return $r[0];
}
$str = rawurldecode($str);
return preg_replace_callback("/%u(.{4})|&#x(.{4});|&#(\d+);|.+/",'unescape_callback',$str);
}
?>
zwp315 2004-12-02
  • 打赏
  • 举报
回复
多谢。。。。。多谢。。。。
mb_convert_encoding 这个函数是在Php4以后才有的吗?
多菜鸟 2004-12-02
  • 打赏
  • 举报
回复
呵呵,前面那个测试过了,后面那个没有测试,以为就是这个的反相。
不好意思。
xuzuning 2004-12-02
  • 打赏
  • 举报
回复
不要开玩笑!
<?php
$some_string = "进入钓鱼场时需要";

echo urldecode($some_string);

$some_string = "进入钓鱼场时需要";

echo urlencode($some_string);

?>
浏览器显示
进入钓鱼场时需要%BD%F8%C8%EB%B5%F6%D3%E3%B3%A1%CA%B1%D0%E8%D2%AA
源文件是
进入钓鱼场时需要%BD%F8%C8%EB%B5%F6%D3%E3%B3%A1%CA%B1%D0%E8%D2%AA
多菜鸟 2004-12-02
  • 打赏
  • 举报
回复
$some_string = "进入钓鱼场时需要";

echo urldecode($some_string);

$some_string = "进入钓鱼场时需要";

echo urlencode($some_string);

21,882

社区成员

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

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