Codeigniter unicode URI 读取为 %E6
例如,我将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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为无论您使用 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.在这里,您已经找到了,这应该显示正确的名称。
Here you have it, this should display propper name.