【问题标题】:How to decode utf-8 charected in codeigniter?如何解码codeigniter中的utf-8?
【发布时间】:2012-11-18 06:40:17
【问题描述】:

我正在开发一个支持多语言的带有 codeigniter 的网站。当用户使用他们的母语搜索时,当我对结果进行分页时,我得到了第一个结果,该字符未解码。

这是用于分页的url。

当我打印 uri 段时,我得到了 %E0%B4%AE

我尝试了 url 编码和 url 解码,当时我得到了一个不同的字符,比如 à´®

谁能告诉我如何解码这种类型的字符集?

【问题讨论】:

  • 还有其他编码器和解码器,例如 base64_decode 和 rawurldecode
  • 首先你需要知道你使用的是哪个编码器......

标签: php codeigniter


【解决方案1】:

虽然 urldecode 是您应该使用的,但您打印错误输出的原因可能是因为输出页面的编码尚未设置为 UTF-8,因此默认为 ISO-8859- 1.因此,虽然字符已被 PHP 正确解码,但浏览器会以错误的编码解释字符,从而导致不正确的显示。

要解决此问题,请在任何输出之前在 Content-type 标头中发送 charset,如下所示:

header('Content-type: <type>; charset=utf-8');

如果您的输出页面是 HTML,您也可以在 head 中使用此标记:

<meta charset="utf-8">

如果您选择第二个选项,请务必尽早将标记放置在 head 中,因为浏览器不会扫描超过页面的前 1024 个字节以获取此声明。

【讨论】:

  • 你好 Delan Azabani,我的页面是 utf-8 我可以看到我的文章用这种语言。
猜你喜欢
  • 2012-08-23
  • 2017-12-22
  • 2012-11-07
  • 1970-01-01
  • 2019-05-10
  • 2012-06-26
  • 1970-01-01
  • 1970-01-01
  • 2020-12-09
相关资源
最近更新 更多