今天搞了一上午,终于把php编码搞懂了,总得来说,php向浏览器,文件,数据库输出数据的时候编码格式都是可以设置的,当他们格式匹配的时候,就不会出现乱码的情况了。
但是我现在又有问题了,我们的网页文件存在磁盘上应该有他自己的编码格式吧,假如html文件编码是gb2312(当然也可以是其它)。但是当然的在网页中设置了<meta http-equiv="Content-Type" content="text/html; charset=utf-8">的时候,浏览器是用utf-8来解释网页的,这就需要服务器从磁盘中取出html文件,然后理解了文件将在浏览器方使用格式,再把编码格式转换就utf-8,再发给浏览器。
1、web服务器是这样做的吗?
2、我们操作系统上面文件的格式应该是可以自己设置的吗?我们的html在文件系统中一般是什么格式?不过我觉得不同应该软件都有它自己的编码格式,比如记事本就可以让我们选取好几种存储格式进行存储。
但是我现在又有问题了,我们的网页文件存在磁盘上应该有他自己的编码格式吧,假如html文件编码是gb2312(当然也可以是其它)。但是当然的在网页中设置了<meta http-equiv="Content-Type" content="text/html; charset=utf-8">的时候,浏览器是用utf-8来解释网页的,这就需要服务器从磁盘中取出html文件,然后理解了文件将在浏览器方使用格式,再把编码格式转换就utf-8,再发给浏览器。
1、web服务器是这样做的吗?
2、我们操作系统上面文件的格式应该是可以自己设置的吗?我们的html在文件系统中一般是什么格式?不过我觉得不同应该软件都有它自己的编码格式,比如记事本就可以让我们选取好几种存储格式进行存储。
只不过是设置浏览器响应的读取格式
你的编码还要看你的编辑器
比如你用notepad++或Editplus都有这项功能
而你的文件实际上是gb2312方式存储的,那么出来的结果肯定是乱码!
我刚刚特意做了个实验,,,选择utf-8存储html文件,在里面指定让浏览器用gb2312打开,结果你面的中文完整的输出,一点都不乱,请问做何解释?
这个是utf-8和gb2312的关系问题,不是6楼说的问题