服务器 httpd 配置:
未设置 AddDefaultCharset utf-8 #gb2312
(原文链接 http://ddbiz.com/?p=202)
php 代码编码文件: utf-8
语种: gb2312,页面中含有中文字符
css 编码文件: ascii
说明,因为 php 在 include 文件时,如果不采用指定的编码格式,则包含文件很容易会出现乱码,所以所有php代码采用了 utf-8
启用css后,发现部分css样式不能发挥作用,即便是明确声明(此时css文件也保存为utf-8格式):
<link rel="stylesheet" type="text/css" href="/css/styles.css" media="screen" charset="utf-8" />
此原因还是处在utf-8编码文件上:
PHP不会忽略UTF-8编码的文件开头BOM的那三个字符。由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以这三个字符将会直接输出。如果是模版文件包含 bom 格式,将会直接输出这三个字符,页面上会有一个小空行。