在输出文件时,一般遇到最多的是乱码问题.主要是不统一造成的.
1 文件保存时使用的编码,在保存时指定
2 输出时告诉浏览器使用的编码,在输出时使用header指定
3 从数据库中或是文件中插入的字符编码跟文件保存的编码不一致.如文件保存使用utf-8保存,但是插入的编码却是gbk的.
4 客户前端输入的编码跟文件保存的编码不一致.
主要是以上几种原因导致乱码
在设置header时空格对浏览器的影响也很大.将会导致头部声明失败
如
$this->output->set_header("Content-Type: text/html; charset=UTF-8");
可以正确冒号与值之间有多个空格,一般是一个或是没有.这时在firefox中看到解析是正确的
firefox解析
Content-Type text/html; charset=UTF-8
而
$this->output->set_header("Content-Type : text/html; charset=UTF-8");
错误:冒号与名称之间有空格,firefox解析成如下,少了编码
Content-Type text/html