中国设计秀欢迎投稿
中国设计秀设计资源站
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
广州网站设计 维美网站建设 域名注册 虚拟主机 广州网站建设 广州网页设计 虚拟主机 域名注册 素材下载 广告服务 大中华erp网 网站推广 家具中国 娱乐
求创科技
中国设计秀
中国福网
金视觉
联动天下
中国设计秀欢迎你
中国设计秀
资源下载
当前位置:网络学院首页 >> 编程开发 >> .net >> asp.net调用js代码乱码的问题

asp.net调用js代码乱码的问题

来源:中国设计秀    作者:    点击:276     加入收藏    发表评论
0
顶一下
中资源

   在asp.net开发中我们经常需要调用js代码,如果js写在asp.net中,一般是不会出现乱码的问题。因为他们具有相同的编码。如果需要引用外部的javascript代码就会有乱码的风险了。一般情况下Asp.net和Javascript的页面编码不是GB2312就是Utf-8 ,如果两者的编码不一致就会产生乱码。解决方法就是想两者的编码进行统一。由于一般情况下Asp.net接受发送请求的编码是Utf-8的,javascript编码默认是Gb2312,故容易出现问题。中国自学编程网 www.zxbc.cn

在Asp.net中可以在两个地方设置接受发送编码

1.Web.config中加入 <system.web> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /></system.web>

2.Aspx页面文件中加入

<META http-equiv="content-type" content="text/html; charset=gb2312">

3.在页面加载事件中加入下句:
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

今天在写AJAX代码,但是出现了很奇怪的问题,就是所有的中文都成了乱码。研究了很久,也在网上查了,基本已为就是AJAX异步传输的时候得编码默认是UTF-8,而asp.net默认的编码不是这个,所以才产生的这样的乱码问题。

于是使用.net里的Encoding做了很多编码转换的试验,结果还是乱码。

最后心灰意冷,找Louis来帮忙看看。Louis做了一个很简单的测试,在我的js代码里插了一句话:alert("中文");

照理这样应该是能显示的,因为没有经过asp.net的处理。但是你猜结果怎么着?居然也是乱码... ...郁闷。Louis说以前他们也遇到过这样的问题,最后检查出来说是js文件编码的问题。后来也快下班了就没再研究。

回到家仔细的做了个试验,把.js文件里的内容直接拷贝到.aspx文件里的script标签内,这样运行起来居然就可以正常显示了,哈哈。网上说javascript是utf-8编码的,于是我就把.js文件的编码存为utf-8,结果就成功了。具体做法是在vs2003里打开某个js文件,将它另存为,保存的时候不要改文件名,保持原来的,以保证覆盖原文件,并且选择编码方式为带签名的UTF-8。

2007-11-07 12:28:00    出处:
热点文章/相关文章
关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口