Heim > Fragen und Antworten > Hauptteil
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的费时间了