search

Home  >  Q&A  >  body text

utf-8 - PHP from 表单中文乱码问题

sublime开发
php页面 设置meta 是utf-8

apache 服务器编码格式关闭

php.ini中设置编码格式也是utf-8

form 表单post提交一个中文, 后台发现是乱码

而后我用notpad++ 打开发现文件编码是UTF-8(有bom), 我就设置成了无BOM的, 这时我的php显示出来界面上

也全是乱码, 之前是form表单提交乱码, 现在页面显示也是乱码了, form表单提交还是老样子。

兄弟姐妹们有没有其他地方需要改的????????

补充:

我忘记说了, 我用的ci框架, 找到了一定的问题, ci框架的 output类中配置header 为charset=utf-8函数没有执行 (set_content_type) , 我在controller 类中加了

$this->output->set_header("Content-Type: text/html; charset=utf-8");

就OK了,但是我不算太理解的是:

情况:

我在代码中exit, 这时代码应该直接退出, output函数不应该执行, header应该也就没有添加charset, 界面上直接还是乱码, 这就证明, 应该还是php环境或ci框架编码格式依然不正确。

但是我用普通PHP代码试了一下逻辑是可以是中文的, 这就证明了不是语言环境或APACHE出的问题

所以结论就是ci框架默认最开始有一个地方设置编码格式依然是ISO的, 导致exit后用的编码格式是之前设置的。

可能我推论有问题, 但是我也不是很清楚, 还在继续跟代码中.... 有知道的, 请联系我.....太TM的费时间了

伊谢尔伦伊谢尔伦2784 days ago629

reply all(1)I'll reply

  • 阿神

    阿神2017-04-11 09:11:40

    看看是不是浏览器页面编码是不是utf-8

    reply
    0
  • Cancelreply