在一个JS文件中包含中文字符串通过innerHTML输出后中文乱码
2012-12-20 21:19
561 查看
在asp.net中时常需要调用js代码,如果js写在asp.net中,一般是不会出现乱码的问题。因为他们具有相同的编码。如果需要引用外部的javascript代码就会有乱码的风险了。一般情况下Asp.net和Javascript的页面编码不是GB2312就是Utf-8 ,如果两者的编码不一致就会产生乱码。解决方法就是想两者的编码进行统一。由于一般情况下Asp.net接受发送请求的编码是Utf-8的,javascript编码默认是Gb2312,故容易出现问题。
在Asp.net中可以在两个地方设置接受发送编码
1.Web.config中加入 <system.web> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </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="utf-8" responseEncoding="utf-8" /> </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。
相关文章推荐
- 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?
- 通过js来获取包含中文字符的字符串的长度的方法
- 现象:起中文的文件名是乱码,通过程序往一个文件中写入中文是乱码。
- flex调用js写文件时,传递的参数包含中文,读取乱码问题
- 通过js来获取包含中文字符的字符串的长度的方法
- 编程题:为了展示文件包含功能,输入一个字符串,输出其长度。
- 最大堆---实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。
- 解决使用nvelocity时候template文件里面包含中文输出结果时候出现乱码的问题
- 从文件读取包含数字和字母字符串,统计每个字符出现的次数,将次数输出到另外一个文件
- dos中如何查找一个字符串是否包含在某个文件中,如果有则将该文件名输出
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- jboss 7 log输出包含System.out.println输出,并且中文为乱码
- 解决Struts2文件下载中文名称乱码以及文件名称中包含空格问题
- sublime打开包含中文的文件乱码
- Eclipse中编辑JavaScript文件(js文件)中文乱码的问题
- asp.net中引入外部js文件的中文乱码问题
- 给定一个字符串,包含中文字符和英文字符,取给定大小字节的子串。
- js处理包含中文的字符串实例