【转】关于js里面包含中文字符出错的问题
问题描述
在Asp.net中include JS文件,并且JS文件中包含中文字符变量,经常会出项”未结束的字符常量”的页面错误.
关键字
JS,中文,未结束的字符常量
产生原因
在Asp.net的web.config的globalization Section默认配置的是responseEncoding字符集为UTF-8,而我们一般存储JS文件的字符集为GB2312.
在客户端没有指定IE使用GB2312去解码JS文件,而IE默认采用了和传到客户端Html代码一样的编码(UTF-8)来解析JS文件,造成无法正确解析中文的问题.
这就是为什么对于同一个JS文件来说,include在Html文件客户端不会报错,include在Aspx就可能报错.
解决方法
对于上述情况有几种解决方法:
方法一 在引用JS文件的地方加入Charset,如下:
<script language="javascript" src="test.js" charset="gb2312"></script>
方法二 改变web.config 中globalization的responseEncoding,(此方法对于国际化的应用程序不好),如下:
<globalization requestEncoding="GB2312" responseEncoding="GB2312" />
方法三 修改JS文件存储的编码方式,VS.net选择File->Advanced save options->Encoding 选择GB2312
<script></script>
相关推荐
88274956 2020-11-03
runner 2020-09-01
梦的天空 2020-08-25
移动开发与培训 2020-08-16
ReunionIsland 2020-08-16
lyqdanang 2020-08-16
MyNameIsXiaoLai 2020-07-08
星辰的笔记 2020-07-04
csstpeixun 2020-06-28
letheashura 2020-06-26
liaoxuewu 2020-06-26
sunzhihaofuture 2020-06-21
FEvivi 2020-06-16
坚持着执着 2020-06-16
waterv 2020-06-14
xiaoge00 2020-06-14
firejq 2020-06-14
firstboy0 2020-06-14
e度空间 2020-06-12
zhongweinan 2020-06-10