Codeigniter unicode URI 读取为 %E6

发布于 2025-01-07 00:41:25 字数 318 浏览 1 评论 0原文

例如,我将domain.com/controller/木村文乃放在我的URI上。

当我输出木村文乃时,CodeIgniter 将其读取为 %E6%9C%A8%E6%9D%91%E6%96%87%E4%B9%83。

function($page)
{
 echo $page;
}

它输出为 %E6%9C%A8%E6%9D%91%E6%96%87%E4%B9%83

自从我将服务器从 centOS 移至 debian 后,就会出现此问题。

可能是什么问题?

我检查了 php.ini 设置等。

For example I put domain.com/controller/木村文乃 on my URI.

CodeIgniter read it as %E6%9C%A8%E6%9D%91%E6%96%87%E4%B9%83 when I output the 木村文乃.

function($page)
{
 echo $page;
}

it outputs as %E6%9C%A8%E6%9D%91%E6%96%87%E4%B9%83

This problem happens since I move server from centOS to debian.

What could be the problem?

I have checked php.ini settings, etc.

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

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

发布评论

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

评论(2

请爱~陌生人 2025-01-14 00:41:25

这是因为无论您使用 CodeIgniter 还是任何其他框架,URL 中都不允许使用特殊字符,这是标准的。

您看到这些百分比字符已转换的原因是 CI 使用 urlencode 转换特殊字符,以便浏览器可以理解它们并在幕后为您工作。

That's because special characters are not allowed in URLs whether you use CodeIgniter or any other framework, it is standard.

The reason why you see these percent characters converted is because CI converts special characters using urlencode so that browser can understand them and that works for you behind the scenes.

ゃ懵逼小萝莉 2025-01-14 00:41:25

在这里,您已经找到了,这应该显示正确的名称。

function($page) {
    $page=urldecode($page);
    echo $page;
}

Here you have it, this should display propper name.

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