关于gb2312转utf出现乱码的解决方法

很多时候,页面使用的是utf8编码 可是原来从数据库读出来的数据显示的却是乱码,这种情况该如何解决呢?


这个是网页编码的问题。中文一般采用的是gb2312这样的话显示中文基本上不会出现乱码。但是有时候我们用的是一种国际上通用的utf-8格式。如果utf-8格式人不是很了解的话是容易出现乱码的。



以下供参考
---------------------------------------------
下面是一遍关于utf-8格式的介绍。


有许多朋友问过我,为什么在ASP里指定了codepage为65001还经常显示乱码.才子在这里将这个问题详细解释一下,以免很多朋友再走弯路,甚至排斥UTF-8.
如果你还不知道UTF-8是什么东东,那才子建议你先去搜索一下UTF-8的相关资料吧.
UTF-8编码之所以被越来越多的人接受甚至喜欢,肯定是有道理的,在WEB2.0盛行的今天,在大谈多浏览器兼容的同时,不得不想到字符编码不同所造成的乱码现象同样需要得到很好的处理.....
在N年以前,IE6以下的所有版本,只要没有安装相应的字库,访问相关的页面都是会乱码的,例如,我是IE5
(Windows2000默认)
的版本,在没有安装IE繁体字库的情况下,访问任何繁体页面的网站都是会乱码的,当然前提是该页面采用了BIG5的Charset,而UTF-8作为一种国际编码就能很好的处理该问题,只要将页面存为UTF-8编码格式,再在页面上将codepage及charset全部定义为utf-8就可以在任何客户端浏览器中显示出完全正确的内容,完全不会乱码......


好了,才子这里以ASP页面为例,以一个实例来看具体操作吧:


在这才子推荐用Editplus来写代码,才子也专门写过一篇Editplus的使用教程,有兴趣的朋友可以点击这里 去看看.


打开新建一个ASP页面,相信玩ASP的朋友都会留意到,许多下载的源码里,页面最上方一般都有一句:
<%@LANGUAGE="VBSCRIPT"
CODEPAGE="936"%>
前面的language应该不用多说了,vbscript就是ASP默认的脚本语言,其实完全可以不用写,写了好像还会影响页面执行效率,在这里我们先不讨论这个问题.
后面的codepage就是关键了,目的就是告诉浏览器,此页面是何种编码,936代表是简体中文,而950代表繁体中文,65001就是我们今天说的UTF-8编码了.我们将936改成65001,整句如下:
<%@LANGUAGE="VBSCRIPT"
CODEPAGE="65001"%>
再加上输出几个中文字看看能不能正确显示吧.
<%
Response.Write
"第一次测试UTF-8页面"
%>
OK,直接点击"保存",执行这个页面看看,如果不出意外,大家可能看到显示出的是 "一尾UTF-8页"
这几个字,中文有乱码的现象,什么原因呢?
OK,请大家再点击最上面的 "文件"
菜单,选择"另存为",最下面一行有个编码,默认应该是ANSI的,请大家点下拉框,选择UTF-8,再点保存,再执行试试看,如果不出意外,乱得更厉害了,呵呵,晕了吧.别急,想想原因,因为我们做的页面是HTML返回的,以前我们写HTML时,看到body前面,也就是head里都有一句meta,应该是这样的:
<meta
http-equiv="Content-Type" content="text/html;
charset=gb2312">
也就是指定页面以gb2312编码返回结果,一定要写在有返回结果输出的前面.大家都知道gb2312是简体中文吧,我们今天说的是UTF-8编码,我们就将gb2312改成UTF-8吧,全部代码如下:
<%@LANGUAGE="VBSCRIPT"
CODEPAGE="65001"%>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
<%
Response.Write
"第一次测试UTF-8页面"
%>
再执行看看,嗯,这次正常显示了吧.......


结论:采用UTF-8编码,除了要将文件另存为UTF-8格式之外,还需要同时指定codepage及charset.


保证asp叶面一定不会出现乱码的代码应该是这样的:
(假定是UTF-8的叶子)
<%@ CODEPAGE=65001 %>

<% Response.CodePage=65001%>
<% Response.Charset="UTF-8" %>

可以建立公共文件language.asp,所有页面都包含这个编码指定.

转载于:https://www.cnblogs.com/xrxiaolong/articles/2668930.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GB2312 文件 UTF-8 工具是一种可以将采用 GB2312 编码的文件换成采用 UTF-8 编码的工具。GB2312 是中国国家标准局发布的字符集编码,它包含了将汉字和一些符号编码成对应数字的规则。而 UTF-8 是一种常用的全球通用的字符编码规范,它能够表示全世界上所有的字符。 GB2312 文件 UTF-8 工具的作用是将原本使用 GB2312 编码的文件换成使用 UTF-8 编码的文件,以便更好地支持国际化和跨平台的应用。这样可以解决在不同操作系统或软件中打开或处理中文文件时出现码问题。 这样的工具一般提供图形界面或命令行界面供用户操作,用户只需打开工具,选择需要换的文件,然后选择换成 UTF-8 编码,点击换即可完成换过程。换过程中,工具会根据 GB2312 编码的规则,将每个字符换成 UTF-8 编码对应的字节序列,并将换结果保存到一个新的文件中。 使用 GB2312 文件 UTF-8 工具可以方便地处理中文文件的编码换问题,让文件能够在更广泛的平台上被正确地打开和处理。此工具的出现极大地促进了中文文本在计算机系统中的交流和应用发展。 ### 回答2: GB2312文件UTF-8工具用于将使用GB2312字符编码的文本文件换为使用UTF-8字符编码的文本文件。GB2312是中文字符集,而UTF-8是一种更加通用的字符编码,支持全球范围内的各种字符。 这个工具的原理是读取GB2312编码的文件,并将每个字符换为UTF-8编码字符。换过程中,需要将GB2312编码的字符映射到对应的UTF-8编码字符。由于GB2312和UTF-8字符集的字符编码方式不同,因此需要进行字符编码的换。 在换过程中,工具会逐个字符读取GB2312编码的文本文件,并判断每个字符的编码方式。通过对具体字符的识别和映射,工具可以将GB2312编码的字符换为对应的UTF-8编码字符。最后,工具将换后的字符按照UTF-8编码写入新的文本文件中。 使用GB2312文件UTF-8工具,可以有效解决在不同编码方式下文本文件显示码的问题。工具可以方便地将使用GB2312编码的文件换为使用UTF-8编码的文件,使得文本内容能够正确地显示和处理。 需要注意的是,在使用工具进行换时,应该先备份原始的GB2312编码文件,以防换过程中的意外错误导致数据丢失。另外,工具在进行换时,可能会遇到一些特殊字符无法正确映射的情况,需要手动处理这些特殊字符,以确保换结果的准确性。 ### 回答3: GB2312文件UTF-8的工具,通常可以通过以下步骤来完成。 首先,需要找到一款支持文件码的工具。目前有很多免费的文字编辑器或码工具可以实现这个功能,比如Notepad++、Sublime Text等。这些工具一般都支持多种编码格式的文件换,包括GB2312和UTF-8。 安装和打开选择好的工具后,打开需要码的GB2312文件。 然后,在工具的菜单栏中选择“文件”或“打开”选项,浏览并选中需要码的文件。 接下来,选择“编码”或“码”菜单选项,一般位于“文件”菜单下方。 在码选项中,找到UTF-8编码格式,选择并确认码。 此时,工具会自动将GB2312文件换为UTF-8编码格式,码完成后,可将文件另存为新的UTF-8文件。 完成上述步骤后,即可成功将GB2312文件换为UTF-8编码格式的文件。 需要注意的是,码过程中可能会遇到码或不完全码的情况,这可能是因为文件中包含了一些无法识别或换的特殊字符。此时,可以尝试使用其他码工具或查找其他解决方案来解决这个问题。同时,为了保证码结果的准确性,建议在码前备份原文件,以防出现意外情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值