首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-10-07 
【转】关于js里面包含中文字符出错的问题问题描述在Asp.net中include JS文件,并且JS文件中包含中文字符变量,

【转】关于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>

热点排行