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

标签 codeigniter character uri

如何在 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/

相关文章:

php - 在不刷新页面的情况下从 codeigniter 中的数据库获取数据

c - 如何避免使用 getchar() 按下 Enter 来仅读取单个字符?

c - 我需要帮助理解字符操作

java - 如何将 URL 的其余部分与最后一个路径分开

android - 如何将位图转换为 Uri?

codeigniter - 在 codeigniter 的多行中仅选择一列。如何以及这是否更有效?

php - php mysql 中的字符串包含特殊字符

mysql - 统计并显示特定列结果的个数

c - 如何在 C 中将 int 转换为字符串 (char*)

android - 从 URI 旋转图像并将旋转后的图像保存到同一位置