如何在 codeigniter 的 uri 中允许特殊字符(如:ä、é、î、ø、ù)
最佳答案
您不能直接在 URL 中使用特殊字符。
RFC 1738 包含以下段落:
URLs are written only with the graphic printable characters of the US-ASCII coded character set.
US-ASCII 字符集中的字符列表可以在 http://www.columbia.edu/kermit/ascii.html 找到。 .
此外,该集合中的某些字符也保留用于某些目的,例如“=”和“&”字符。这些字符(以及未包含在 US-ASCII 字符集中的字符)必须使用 % 符号后跟字符引用进行编码。
您可以使用 urlencode() 在 codeigniter 中对这些值进行编码。例如,如果您使用redirect(urlencode(http://test.com/ä)) 重定向用户,他们将被重定向到http://test.com/%E4这是一个有效的 URL。
要将此百分比代码解码回正常字符以显示在您的页面上,只需使用 urldecode() 例如:
echo 'The character is: ' . urldecode($this->uri->segment(2));
我希望这会有所帮助。
丹
关于codeigniter 允许在 uri 中使用特殊字符(如 : ä, é、î、ø、ù),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5879999/