CSDN博客

img shanyou

在ASP.net页面引用js时的注意事项

发表于2004/7/2 23:36:00  2343人阅读

分类: javascript脚本 dotnet技术

在ASP.NET页面中经常需要链入一些JS文件,如:

 如果在JS里有中文的话,在一般情况下,在浏览器里会报错脚本错误.
 如果不信可以自己试一试。

 其实是这样的:
 由VS.NET自动生成的项目里,Web.Config中有这么一段:
<globalization requestEncoding="utf-8"
responseEncoding="utf-8"
/
>
 它定义了该应用发送和接收的流都以utf-8来编码。

 然而问题就出在这里,由于我们大家使用的都是中文版的Windows,中文版的VS.NET,所以保存文件的默认编码都是gb2313,所以当ASP.NET把JS文件发送到客户端时,就会发生编码的错误,从而导致发送了不正确的脚本代码到客户端。

解决的方法很简单,把Web.config里的编码定义改为gb2312即可。

补充:

js文件中escape 方法处理编码

String 对象编码以便它们能在所有计算机上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明

escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存储。

注意 ? escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURIencodeURIComponent 方法。


 

ASP.NET中要支持UTF-8您必须要将web.config中的语系设定,设为支持UTF-8
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

另外在数据库的部份也必须改使用支持Unicode的资料格式,如nvarchar、ntext等。
资料在传送上建议使用POST的方式传送资料,如果要使用QueryString的方式传送,最好要加上Server.UrlEncode

如果页面上一部份文字编码正常,一部份文字的编码却出现问题,如Label上的文字正常,而textbox上的文字却变成乱码。除了上述设定外每一支aspx的存盘编码方式最好也一致,都是使用UTF-8的编码方式

0 0

相关博文

我的热门文章

img
取 消
img