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

发布于 2024-11-05 06:44:44 字数 50 浏览 4 评论 0 原文

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

how to allow special characters (like: ä, é, î, ø, ù) in uri in codeigniter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

汹涌人海 2024-11-12 06:44:44

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

RFC 1738 包含以下段落:

URL 只用图形来书写
US-ASCII 的可打印字符
编码字符集。

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));

我希望这会有所帮助。

You cannot use special characters directly in URL's.

RFC 1738 contains the following paragraph:

URLs are written only with the graphic
printable characters of the US-ASCII
coded character set.

A list of characters in the US-ASCII character set can be found at http://www.columbia.edu/kermit/ascii.html.

Additionally, certain characters within that set are also reserved for certain purposes for example the "=" and "&" characters. These characters (and characters not included in the US-ASCII character set) must be encoded with the use of a % sign followed by the character reference.

You can encode these values within codeigniter using urlencode(). For example if you redirected a user using redirect(urlencode(http://test.com/ä)), they would be redirected to http://test.com/%E4 which is a valid URL.

To decode this percent code back into a normal character for display on your page, simply use urldecode() for example:

echo 'The character is: ' . urldecode($this->uri->segment(2));

I hope this helps.

Dan

白芷 2024-11-12 06:44:44

您可以在 application/config 文件夹的 config.php 文件中进行配置:

$config['permissed_uri_chars'] = 'az 0-9~%.:_\-';

You can configure this in your application/config folder, in the config.php file:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文