2

我正在尝试filter_input并且filter_var我目前正在尝试使用FILTER_SANITIZE_URL.

测试程序从一个 GET 变量中获取输入,该变量由一个 URL(例如foo.com/bar.php?a=http://www.domain.se)组成。只要我不使用瑞典域名,它就可以正常工作。例如: ( foo.com/bar.php?a=http://www.äta.se) 被清理到 a =http://www.ta.se显然不一样的地方。

4

1 回答 1

2

具有特殊字符的域在技术上不会使用非 ASCII 字符(如您的情况下的 ä)传输,它们是 punycode 编码的。调用程序应相应地对其 URL 进行编码。

请参阅: http:
//en.wikipedia.org/wiki/Internationalized_domain_name
http://en.wikipedia.org/wiki/Punycode

示例:
http://www.äta.sehttp://www.xn--ta-uia.se

于 2010-03-06T19:20:34.507 回答