PHP中各种混沌编码问题的求解
1)使用标签设置页面编码此标记的功能是声明浏览器的字符集,以便用xxx显示页面。它可以是GB2312,GBK,UTF-8(和MySQL不同,MySQL是UTF8)等。因此,大多数的网页可以用这种方式来告诉浏览器代码,用来显示此页,这样他们不会造成编码错误和产生乱码。但有时我们会发现这句话还没有好的。不管XXX是什么,浏览器总是采用一种代码,稍后我将讨论它。
请注意它是HTML信息,只是一个声明,只显示服务器向浏览器发送HTML信息。
2)标题(内容类型:文本/ HTML;字符集= XXX);
这个函数头的功能()是把信息放在括号中的HTTP头。如果括号中的内容在文中表示,效果基本相同的标签,这是作为第一个相同,但不同的是,如果你有这种功能,浏览器总是使用XXX代码你需要,永远都不听话,所以这个功能是非常有用的。为什么要说HTTP标头和HTML信息之间的差异:
HTTP头是服务器通过HTTP协议向浏览器发送HTML信息的字符串。标签属于HTML信息,所以报头()的内容首先到达浏览器。The popular point is that header () has higher priority than others.If a PHP page is header (content-type:text/html; charset=xxx), and the browser, only the former HTTP header and deny meta.Of course, this function can only be used in the PHP page.
还有一个问题,为什么前者是绝对有用的,而后者有时不能成为下一个Apache的原因。
3)adddefaultcharset
在Apache的根目录conf文件夹,那里是整个Apache配置文件httpd.conf。
用文本编辑器打开httpd.conf。第七百零八线(不同的版本可能不同)有adddefaultcharset XXX,XXX是编码名称。这行代码的含义:设置在Web文件的HTTP头在整个服务器的默认字符集的字符XXX。这相当于增加一个线头每文件(内容类型:文本/ HTML;字符集= XXX)。这就是为什么它是明确设置为UTF-8,而浏览器是使用GB2312。
如果你有标题(内容类型:文本/ HTML字符集= xxx)的网页,你改变设置的字符的默认字符集设置,所以这个功能很有用。如果adddefaultcharset XXX前面加个# ),那时的Meta标签工作时间。
下面列出了以下优先事项:
..标题(内容类型:文本/ HTML;字符集= XXX)
..adddefaultcharset XXX
。
如果你是一个程序员,建议添加页眉(内容类型:文本/ HTML字符集= XXX)到您的网页的每一页,这样就可以正确显示在任何服务器和便携性。
4)在php.ini中的default_charset配置:
的default_charset =GB2312在php.ini中定义一系列PHP默认的语言特征,它通常是被推荐的注释行,使浏览器可以自动选择语言而不是一种强制性规则根据网页标题的字符集,这样他们就可以在同一台服务器上提供多语种服务。
PHP截取中文字符乱码问题中的应用,对mb_substr函数的应用
mysql中文随机码解决方案