.net中引入外部js文件,容易产生中文乱码

asp.netasp.net中引入外部js文件,容易产生中文乱码,讨论解决方法。

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

在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。

哈哈,快到斩乱码!

js文件另存为utf-8

打开方式选择记事本,然后另存的时候有个选项,选择UTF-8</strong 淘宝购物导航 >

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值