平安夜了,但是无事可做。
今天很意外的解决了Z-blog的asp文件因为charset编码gb2312和utf-8的不同带来的页面乱码问题,自己写下来做个记录。
我们知道gb2312是简体中文编码,大部分中文网页都是用这种编码方式。而utf是UCS Transformation Format英文的缩写,是一种混合编码,听说标准化网页推荐使用utf,而且英文系统可以识别,gb2312在英文系统就要提示安装字体。
通常我们对html是这样定义编码的:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
或者
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
一般说来,用记事本编写的文件为gb2312编码方式,但是我们也可以改变这个文件的编码方式。同时,ASP内部是Unicode的,所有文本都是Unicode存储的。对于Z-blog,其默认的编码方式是utf-8,很国际化。
事因上个星期,自己整理代码,为预防艾滋、希望工程、节水、禁烟尽一点义务做了个公益广告的asp。导致乱码的原因,可能是我用记事本编辑了代码之后,改名为asp,编码自然就是gb2312。结果,中文显示的都是乱码。当时不知道原因,真是赶鸭子上架,没办法就全部都用英文了。
图1:全部英文显示很好
图2:asp有中文的话,无法正常显示。
如前面所说的,我们可以改变文件的编码方式。也就是说,我们可以把asp文件的编码从gb2312改变为utf-8,那么Z-blog重建文件之后,就不会把这个asp里面的内容变成乱码了。方法很简单的,用记事本打开asp文件,然后另存一份,这时候的编码要改为UTF-8。
图3:改变文件的编码方式,注意下面的编码用的UTF-8。
在首页插入这个asp文件<#TEMPLATE_INCLUDE_PUBLICSERVICEADS#> ,文件重建之后效果不错,不在出现乱码。
图4:改为utf之后,正确显示中文了,大功告成。













