如何在 codeigniter 的 uri 中允许特殊字符(例如:ä、é、î、ø、ù)
您不能直接在 URL 中使用特殊字符。
RFC 1738 包含以下段落:
URL 只用图形来写
US-ASCII 的可打印字符
编码字符集。
US-ASCII 字符集中的字符列表可以在以下位置找到:http://www.columbia.edu/kermit/ascii.html http://www.columbia.edu/kermit/ascii.html.
此外,该集中的某些字符也保留用于某些目的,例如“=”和“&”字符。这些字符(以及未包含在 US-ASCII 字符集中的字符)必须使用 % 符号后跟字符引用进行编码。
您可以使用 urlencode() 在 codeigniter 中对这些值进行编码。例如,如果您使用redirect(urlencode(http://test.com/ä))重定向用户,他们将被重定向到http://test.com/%E4 http://test.com/%E4这是一个有效的 URL。
要将此百分比代码解码回正常字符以在页面上显示,只需使用 urldecode() 例如:
echo 'The character is: ' . urldecode($this->uri->segment(2));
我希望这有帮助。
Dan
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)