哈尔滨市香坊区地图:"含苞"请教aspx网页问题,麻烦高手帮助我

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/26 10:38:36
1.我以前问题如下--------------------------------------------------------------------------
我一客户的网站是用aspx页面.我在他首页加了个表单,链接了js文件,但是是乱码显示.朋友提醒我用utf-8的js文件.
我也发现他网站有个webconfig文件,但是我不懂aspx
我把js文件改为utf-8,在客户网站上显示正常了,但是表单提交到我服务器的时候,又是乱码了.我的网站是gb2312的.
有没有办法把他整站改为gb2312.或者怎么解决,大家可以看看这网站.
---------------------------------------------
2"含苞"回答如下---------------------------------------------------------------------------
这是由于编码方式不同造成的。

JS文件依然改为GB2312
在UTF-8的ASPX文件里面调用的时候这样写:
<script src="..." charset="gb2312" language="javascript">

vs会提示charset不是script的属性,但不要管他。保存刷新页面看看。
---------------------------------------------

现在情况是:
感谢您的支持,我已经解决了在首页面显示的时候乱码问题.

但是这个表单是提交到我的网站上去的,我的网站接收到的仍然是乱码.怎么回事?能再帮帮吗?
在接收页面有没有什么函数可以把接收到的数据转换一下.
我已经解决了该问题,用了很麻烦的方法,还是很感谢大家.在这里我感受到了大家的热情,谢谢

我看了你的网站是用ASP做的,我不知道到你说的连接到ASPX含义,是不是说你在sea.asp页面 把收到的参数传给了一个ASPX页面处理,再在页面显示查询的结果呢。

我不知道你在ASP页面接收的参数是否是正确的,(理论上,你发送和接收的页面都是GB2312应该没有问题)。
ASPX默认使用的是UTF-8编码的,你传递的GB2312编码的参数需要在ASPX端做转换:

下面给你一个转换的方法:
//strgb 是接受到的GB2312字符串
private string GBToUTF(string strgb)
{
string utfinfo = strgb;

Encoding utf8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");

byte[] unicodeBytes = gb2312.GetBytes(utfinfo);
byte[] asciiBytes = Encoding.Convert(gb2312,utf8, unicodeBytes);

char[] asciiChars = new char[utf8.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
utf8.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
return new string(asciiChars);
}

没有 看清楚你的问题。

你把具体页面调用的过程说一下 是数据从ASP提交到ASPX还是ASPX提交到ASP