关于js里面包含中文字符出错的问题

问题描述

       Asp.netinclude JS文件,并且JS文件中包含中文字符变量,经常会出项未结束的字符常量的页面错误.

关键字

       JS,中文,未结束的字符常量

产生原因

       Asp.netweb.configglobalization Section默认配置的是responseEncoding字符集为UTF-8,而我们一般存储JS文件的字符集为GB2312.

在客户端没有指定IE使用GB2312去解码JS文件,IE默认采用了和传到客户端Html代码一样的编码(UTF-8)来解析JS文件,造成无法正确解析中文的问题.

这就是为什么对于同一个JS文件来说,includeHtml文件客户端不会报错,includeAspx就可能报错.

解决方法

       对于上述情况有几种解决方法:

方法一  在引用JS文件的地方加入Charset,如下:

<script language="javascript" src="test.js" charset="gb2312"></script>

方法二  改变web.config globalizationresponseEncoding,(此方法对于国际化的应用程序不好),如下:

<globalization requestEncoding="GB2312"  responseEncoding="GB2312"   />

方法三  修改JS文件存储的编码方式,VS.net选择
File->Advanced save options->Encoding 选择GB2312

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值