如何在Perl中URI转义日语字符?

时间:2010-10-05 04:32:22

标签: perl uri

如何在Perl中URI转义日语字符?

2 个答案:

答案 0 :(得分:11)

URI::Escape模块将能够处理日语字符,就像任何其他不安全或特殊字符的非URI一样。

通常,当您在Perl中查找某些功能时,尤其是在URI中转义的内容时,您应首先咨询http://search.cpan.org。在搜索您在问题中使用的任何关键字时,URI::Escape可能是搜索结果的最顶层。

答案 1 :(得分:8)

  

如何在Perl中URI转义日语字符?

您需要提及日文字符的编码方式。

如果您使用的是UTF-8并且还使用Perl的内置Unicode编码,那么您可以使用它:

 use utf8;
 use URI::Escape qw/uri_escape_utf8/;
 my $escaped = uri_escape_utf8 ("チャオ");

如果使用某种格式(如EUC-JP,Shift-JIS或其他类似格式)对日文字符进行编码,则需要指定所需的URI转义类型。像

这样的标准事物
 my $escaped = uri_escape ("ハロー");

会给你一些URI编码的东西,但它不一定对另一端有意义。例如,如果要为WWWJDIC创建URL,则要查找的URI是UTF-8:

http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?1MMJ%E6%B8%AE

但对于EUC-JP,同一页面看起来像这样:

http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?1MKJ%DE%D1

Perl会为你做任何一个,但你需要具体说明你的出发点。