当使用unicode/utf8/win1251字符时,在浏览器地址栏中的链接


Link in browser address bar when using unicode/utf8/win1251 characters

我使用以下链接转换:

$s = "Активные";
urlencode(iconv('UTF-8', 'windows-1251', $s);

作为结果,我得到在浏览器地址栏如下:

site.com/catalog/%C0%EA%F2%E8%E2%ED%FB%E5

但是我需要把它转换成这样:

site.com/catalog/Активные

与维基百科相同,当你用俄语搜索时,它会传递编码字符串,但在链接中它会显示全部正确:

[https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA][1]

请告知如何实现…

大多数浏览器用于在地址栏中显示Unicode的标准是IRI。在此规范中,路径部分使用UTF-8编码,而不是cp1251。

省略iconv步骤以保留UTF-8编码的字符串,您应该得到:

http://example.com/catalog/%D0%90%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5

显示为:

http://example.com/catalog/Активные

在大多数浏览器的地址栏(典型情况下IE除外)