免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7411 | 回复: 6
打印 上一主题 下一主题

关于将汉字转换成url编码的问题[已解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-11 19:05 |只看该作者 |倒序浏览
比如将:http://a.com/a.php?a=北京
转换成 http://a.com/a.php?a=%B1%B1%BE%A9

用perl将 "北京"的ascii码 转换成16进制的"B1B1BEA9",再转换成url识别的格式"%B1%B1%BE%A9"

google了半天没找到想要的方法,请各位朋友给个思路,谢谢!

使用6楼hitsubunnu 的方法,已成功解决,谢谢大家!

  1. use Encode qw(from_to);
  2. $string="北京";
  3. from_to($string, "Shift_JIS", "GB2312");    #需要你自己根据编码 改一下  我的是日文系统
  4. $string=~s/(\W)/sprintf("%%%02X",unpack("C",$1))/eg;
  5. print ...
复制代码

[ 本帖最后由 fouter 于 2008-3-12 13:34 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-03-11 21:36 |只看该作者
percent encoding or url encoding
http://en.wikipedia.org/wiki/Percent-encoding
也许要代理

论坛徽章:
0
3 [报告]
发表于 2008-03-11 22:13 |只看该作者
use URI::Escape

论坛徽章:
0
4 [报告]
发表于 2008-03-11 23:22 |只看该作者
这是perl版  不是php  你要是问cgi的我知道 php的不知道

$str =~ s/(\W)/'%'.unpack("H2", $1)/ego;

[ 本帖最后由 hitsubunnu 于 2008-3-12 08:33 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-03-12 09:14 |只看该作者
原帖由 hitsubunnu 于 2008-3-11 23:22 发表
这是perl版  不是php  你要是问cgi的我知道 php的不知道

$str =~ s/(\W)/'%'.unpack("H2", $1)/ego;


谢谢楼上的,但还是没有得到我想要的结果,其实就是将汉字的字符串转换成16进制,再将16进制字符串改为url识别的格式.


  1. #!/usr/bin/perl
  2. #
  3. my $str = "北京";
  4. $str =~ s/(\W)/'%'.unpack("H2",$1)/ego;
  5. print $str,"\n";
复制代码


结果是:%e5%8c%97%e4%ba%ac

论坛徽章:
0
6 [报告]
发表于 2008-03-12 10:59 |只看该作者

  1. use Encode qw(from_to);

  2. $string="北京";
  3. from_to($string, "Shift_JIS", "GB2312");    #需要你自己根据编码 改一下  我的是日文系统
  4. $string=~s/(\W)/sprintf("%%%02X",unpack("C",$1))/eg;

  5. print $string;
复制代码

论坛徽章:
0
7 [报告]
发表于 2008-03-12 13:20 |只看该作者
原帖由 hitsubunnu 于 2008-3-12 10:59 发表

use Encode qw(from_to);

$string="北京";
from_to($string, "Shift_JIS", "GB2312");    #需要你自己根据编码 改一下  我的是日文系统
$string=~s/(\W)/sprintf("%%%02X",unpack("C",$1))/eg;

print ...


谢谢哥们!

问题解决了!

多谢各位热心的perler!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP