codeigniter允许在uri中使用特殊字符(例如:ä,é,î,ø,ù)

sco*_*ohh 3 uri codeigniter character

如何在codeigniter中允许uri中的特殊字符(如:ä,é,î,ø,ù)

Dan*_*ves 6

您不能直接在URL中使用特殊字符.

RFC 1738包含以下段落:

URL仅使用US-ASCII编码字符集的图形可打印字符编写.

可以在http://www.columbia.edu/kermit/ascii.html上找到US-ASCII字符集中的字符列表.

另外,该组内的某些字符也被保留用于某些目的,例如"="和"&"字符.这些字符(以及US-ASCII字符集中未包含的字符)必须使用%符号后跟字符引用进行编码.

您可以使用urlencode()在codeigniter中对这些值进行编码.例如,如果您使用重定向(urlencode(http://test.com/ä))重定向用户,则会将它们重定向到http://test.com/%E4,这是一个有效的URL.

要将此百分比代码解码回正常字符以便在页面上显示,只需使用urldecode()例如:

echo 'The character is: ' . urldecode($this->uri->segment(2));
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助.