PHP 俄语网址编码


PHP Russian url encoding

在Simple_XML中使用此网址字符串时 - http://квартиры-домики.рф/Admin/Import/rieltonReport.xml

我收到此错误 -

simplexml_load_file(http://%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B8%D1%80%D1%8B0%B4%D0%BE%D0%BC%D0%B8%D0%BA%D0%B8.%D1%80%D1%84/Admin/Import/rieltonReport.xml) [function.simplexml-load-file]: failed to open stream: php_network_getaddresses:getaddrinfo failed: hostname nor servname provided, or not known

是否可以使用url编码器(tinyurl)以某种方式指向网站,或者让php理解俄语字母?

如果您安装了 PHP 5>= 5.3.0、PECL intl>= 1.0.2 和 PECL idn>= 0.1,则可以使用 function

idn_to_ascii('домики.рф');

用于转换域名。您可以在此处阅读有关此功能的文档:http://php.net/manual/ru/function.idn-to-ascii.php

如果您无法安装 pecl 库,则可以在纯 php 上使用另一种解决方案:http://phlymail.com/en/downloads/idna/

显然,用不同语言写出域名是有标准的。

为此类域创建别名 - http://xn----7sbfkscajgsvub0a1l.xn--p1ai/。

对于Chrome,只需从浏览器复制即可。