asp.net 中 js脚本输出的汉字是乱码(转)
2011-07-13 15:15
316 查看
在asp.net开发中我们经常需要调用js代码,如果js写在asp.net中,一般是不会出现乱码的问题。因为他们具有相同的编码。如果需要引用外部的javascript代码就会有乱码的风险了。一般情况下Asp.net和Javascript的页面编码不是GB2312就是Utf-8 ,如果两者的编码不一致就会产生乱码。解决方法就是想两者的编码进行统一。由于一般情况下Asp.net接受发送请求的编码是Utf-8的,javascript编码默认是Gb2312,故容易出现问题。所以,要确定这个js创建的时候是基于那种编码模式的。要不然,就重新创建js文件。把用的内容复制进去。(一般在英文环境创建的工程中容易出现)。
在Asp.net中可以在两个地方设置接受发送编码
1.Web.config中加入 <system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" /></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。
在Asp.net中可以在两个地方设置接受发送编码
1.Web.config中加入 <system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" /></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。
相关文章推荐
- asp.net 中 js脚本输出的汉字是乱码
- asp.net js文件输出的页面文件为什么会是乱码?
- ASP.NET后台输出js脚本代码
- asp.net,js传递汉字参数乱码
- asp.net 解决js传递参数时,url汉字乱码的问题
- 用正则表达式过滤脚本(js)的一些研究(asp.net + C#)
- ASP.net输出JS脚步的类(无AJAX框架)(原作者发布地址http://blog.csdn.net/zhoufoxcn/archive/2008/04/21/2312440.aspx)
- asp.net中常用javascript脚本输出的辅助类JScript
- 解决asp.net core在输出中文时乱码的问题
- asp.net 输出txt文件的时候中文出现乱码,已解决
- javascript如何调用C#后代码中的过程 和ASP.NET调用JS乱码解决方案
- ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别
- 在ASP.Net中利用JS调用Aspx页面的输出
- asp.net url址址中中文汉字参数传递乱码解决方法
- Asp.net生成JS文件调用乱码解决方法
- ASP.NET中后台注册js脚本攻略
- 脚本(JS)关闭窗体(ASP.NET)
- Asp.net后台把脚本样式输出到head标签中节省代码冗余
- asp.net 页面传中文,超过两个汉字后面就乱码
- ASP.NET解决验证控件与JS脚本验证冲突