Как мне URI избежать японских символов в Perl? - PullRequest
0 голосов
/ 05 октября 2010

Как мне URI экранировать японские символы в Perl?

Ответы [ 2 ]

11 голосов
/ 05 октября 2010

Модуль URI::Escape сможет обрабатывать символы японского языка, как и любые другие небезопасные или специальные символы без URI.

Как правило, когда вы ищете некоторые функции в Perl, особенно те, которые кажутся такими же распространенными, как экранирование в URI, вам следует сначала обратиться к http://search.cpan.org. URI::Escape вероятно был бы в самом верху результатов поиска по любому из ключевых слов, которые вы использовали в своем вопросе.

8 голосов
/ 05 октября 2010

Как мне URI экранировать японские символы в Perl?

Необходимо указать, в какой кодировке находятся японские символы.

Если вы используете 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, но это не обязательно имеет смысл для другого конца.Например, если вы создаете URL для WWWJDIC, ​​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 сделает для вас любой из них, но вы должны точно указать, какова ваша отправная точка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...