如何在URL中使用UTF-8字符

时间:2012-08-11 07:26:04

标签: php url encoding

我在上面阅读了一些问题,他们使用rawurlencodepercent encoding来编码utf-8字符,但我发现了一些不同的例子:xn--pbt1by64f.lofter.comhttp://xn--wgv71a.com/,这也将在浏览器地址栏中转换为utf-8字符串(例如温家宝.lofter.com日本.com)。这显然不是百分比编码或只是urlencode结果,这种编码方法是什么?

2 个答案:

答案 0 :(得分:1)

它被称为“Punycode”:

  

在计算中,Punycode是一般编码语法的实例   (Bootstring)转换了一串Unicode字符   唯一且可逆地成为一个较小的,受限制的字符集。

     

Punycode用于编码标签   应用程序中的国际化域名(IDNA)框架等   这些域名可以用ASCII字符集表示   允许在Internet的域名系统中使用。编码语法   在IETF文档RFC 3492中定义。[1]

来自http://en.wikipedia.org/wiki/Punycode

答案 1 :(得分:0)

这称为Internationalized domain name

并检查php的IDN Functions