请高手帮我解决一个ASP中文乱码的问题。

来源:百度知道 编辑:UC知道 时间:2024/06/27 17:25:30
我用ASP+SQLSERVER2000编写了一个系统。
每一张页面的头部是这样写的:
<!--#include file="..\Conn\conn.asp"-->
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
<title></title>
<link href="../inc/qkdj_style.css" rel="stylesheet" type="text/css">
页面文件用记事本转成了“utf-8”格式。

但是在显示的时候有些不正常,具体表现为:
首次显示所有页面都是正常的。
但是一旦程序报错,提示错误后返回首页,ASP中的中文全部变成了乱码。
(再看所有页面也是不正常的)
关闭浏览器,重新用IIS管理器打开刚才的错误的首页和其他页面又恢复了正常。

他总是时好时坏,请问高手这是怎么回事?
呵呵,谢谢大家的回答,可是我的系统中,有日文和俄文的东西,请问GBK能支持吗?

用UTF-8和gb2312两个都行,关建是乱码问题,如果两个都不能正常出没字,还有你显示的内容是否进行了传参,如果是传参的问题的话,可以先把它打回原形(即,ISO-8859-0)再把它转成UTF-8或GB2312,可以这样写:
newStr=new String(oldStr.getBytes("ISO-8859-1"),("gb2312"));
写这么一个转码类就OK了

把你的浏览器也改成UT8,就好了~其他的和楼上说的一样,

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
改成
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312" />

你这个问题是正常现象 因为你的页面设置的是UTF-8 报错后 浏览器的编码后自动设置为简体中文 导致你看其他UTF-8的页面不能正常显示

浏览器的问题

不要改成gb2312,要保持多语言对应,必须pageencode设置成utf-8,并且网页编码也要是utf-8,产生的乱麻的原因是,你使用的是中文系统,默认编码是gb2312,报错之后,文字会用操作系统的默认编码进行解码,然后以utf-8再次编码。