建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
Godaddy空间中文乱码的终极解决方案
发布日期:2012-06-08 阅读次数:947 字体大小:

在我的上一篇博文里面谈到了在将网站上传到godaddy空间之后碰到的一些问题,其中就包括了中文乱码的问题。在上篇博文里,我参照了网络上流传的方法,即在asp文档的前面加上如下的代码 <% @language=vbscript codepage=936%>。

这个方法表面上看上去是有效的——为什么这么说呢?因为在你没有往网站里面添加新的内容之前,用添加这段代码的方法基本可以解决中文乱码的问题。不过在经过了一段时间的检验之后才发现这个方法其实是治标不治本。正如上所述,如果没有往网站里面添加新的内容,也就是说没有更新数据库的情况下,这个方法是有用的。但是,如果更新的数据库,比如发表了新的网站动态,则会发现新发表的中文字符仍然是以乱码的形式出现在网页里面。这一度令我非常沮丧。

在经历过几百次的实验和尝试之后,终于慢慢摸清楚了问题的根本原因所在。下面将解决godaddy空间中文乱码的方法分享出来,给同样挣扎在godaddy空间乱码问题中的朋友一个参考(我只能说是给你们一个参考,这才是科学的态度,因为我们知道即便是同一个现象,其原因也可能千差万别。)同样,也给自己一个备忘录,以免在经后再碰到相同的问题的时候仍然是束手无策。

要解决godaddy空间中文乱码问题,分下面的三个步骤:

第一步:将所有的中文.asp页面的编码更改成UTF-8

很多asp网站默认的编码形式都是ANSI,这样的网页文件需要重新编码,凡是ANSI编码的网页文件要一律改成UTF-8的编码形式。我是习惯使用Notepad2文本编辑器来编辑这些网页文件的,也推荐大家使用。Notepad2不但可以编辑普通的TXT文档,对HTML,PHP,ASP等文件同样也可以很轻松得编辑,而且体积很小,非常适用。如果你也是使用Notepad2来编辑.asp文件的话,你就可以在文件-编码后面直接选择UTF-8来重新编码该文件。

第二步:将网页文档中有如下代码的地方改成后面的形式

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

其实这里也就是将gb2312编码改成utf-8编码。不过请注意,如果你的网站是做双语的,那么你只需要改中文网页文件就可以,千万不要去改英文的网页文件,否则你的中文是没有乱码了,但是英文全部变成了乱码。切记第一步也要注意这一点。

经过了这两步,其实静态网页文件的中文乱码问题都已经解决了,经过这两步的效果是和上一篇博文中提到的添加代码<% @language=vbscript codepage=936%>的效果是一样的。如果你的网站没有牵涉到数据库,那么到这一步就基本OK了!但是如果你的网站也和博主的网站一样是牵涉到access数据库的,那么你还需要进行第三步的操作。

第三步:在中文网页文档的前面添加如下的代码

<%@codepage="65001"%>

这一行代码添加到网页文件的最前面就可以了!

小提示:如果你是对这这篇文章一步一步来操作的话,我建议你看完了三步之后再一步到位地操作,当然,如果你不嫌麻烦看一步修改一篇所有的网页文件,看一步再修改一遍所有的网页文件也不会出错——虽然有点笨——我的意思是这三步其实是可以在打开一个网页文件的时候一次性修改完成的(第二步如果没有这句代码的话就不需要修改)!

文章来源:微服私访