最近在改一个页面,原来的编码是gb2312,为了国际化,改成utf-8,开始时浏览还是正常。因为电脑偶感小恙,于是恢复了系统,这才发现改后的页面,网页用IE浏览是一片空白,查看页面源码却是一字不少。遂用Firefox测试,可以正常浏览。
经查才发现,原来问题出在IE对utf8的识别能力,要解决的最简单方法:在<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />这句话的前面不要出现中文,把title等等全部放其后面去,就搞定了。
而我开始时,在系统恢复之前,IE浏览器“编码”大概勾选了“自动选择”。恢复系统之后,浏览器设置还原到默认状态,所以才出现这种情况。
幸好发现的早,要不访问量下降,还不知道咋回事。其实查看荆棘鸟博客页面就可以看到,utf-8在所有meta最前面,但是不出问题,谁能注意到这样的细节呢?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="keywords" content="荆棘鸟,thornbird" />
<meta name="description" content="荆棘鸟's Blog,传说世上有这么一只鸟儿 ……" />
<meta name="author" content="传说世上有这么一只鸟儿 ……" />
gb2312的页面比utf-8要小,如果是用户群是国内用户,还是gb2312可靠。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />