PD4ML处理中文的html页面中文乱码怎么处理乱码的问题

JS文件中的中文在网页上显示为乱码解决方法
如果JS文件中的中文在网页上显示为乱码,不妨采用本文章中的方法来试一试,或许能解决使你很头疼的问题。JS编码转换,这句话本身就是一句具有二重义的话。通常理解为JS文件里能转换编码的代码,但是,我所碰到的问题并不是这样的,是要解决JS文件本身的编码问题,它是UTF-8编码的还是ANSI编码的?在百度、谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗?之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码。通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上就是乱码,而我的页面全部都是采用UTF-8编码进行编码的,为此,我想到了,这可能是JS文件本身编码问题造成的。在Eclipse中,JS文件中的中文显示正常在网页中,中文却显示为乱码  我想到了这可能是由于JS文件本身编码问题所导致的,其实这是正确的。这里要用到一个小工具,叫NotePad2,翻译过来就是记事本第代,这个小工具很好用,绿色免安装,完全可以取代windows系统自带的。它的下载地址是:  用NotePad2打开JS文件,查看JS文件的编码,发现JS文件的编码是ANSI,ANSI编码采用0x80~0xFF范围内的2个字节来表示1个字符。例如,汉字“中”在中文操作系统中,使用[0xD6,0xD0]这两个字节来存储。但是,不同的国家和地区制定了不同的ANSI标准,使得不同ANSI编码之间互不兼容。大家都知道,在中国,浏览器的编码要么是GBK或GB2312编码,要么是UTF8编码,当以ANSI编码的中文发送到网页上时,自然就显示为乱码了,所以这是问题的根本。  借助NotePad2软件,将JS文件的编码转换成UTF-8编码,因为UTF-8编码是计算机通用编码,能支持几乎所有国家或地区的语言文字,而且浏览器本身就支持UTF-8编码。  OK,再来看看在浏览器上的效果。显而易见,中文显示正常,乱码问题解决。并非像网上所说的“使用JS中的encodeURIComponent或encodeURI方法”,既复杂又难懂,还要经过复杂的编程,实在是不可取。  经我的测试,无论是使用新建文本文档然后将扩展名改成.js,还是用其他软件或工具创建的JS文件,用NotePad2软件打开查看编码,发现 JS文件的编码都是ANSI,因此我猜测,难道JS文件的默认编码是ANSI编码?当然这个我并没有去考证,在网上也没有相关的资料可以证明JS文件的默认编码是ANSI编码,仅个人猜测而已。
阅读本文后您有什么感想? 已有
人给出评价!
11-11-1810-02-0104-10-0704-10-0704-10-0704-10-0704-10-0704-10-07
注:您的评论需要经过审核才会显示出来
Copyright &
PC6下载().All Rights Reserved
备案编号:湘ICP备号解决中文乱码的问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
解决中文乱码的问题
上传于||暂无简介
你可能喜欢页面传入后台出现汉字乱码解决办法
一、如果使用iframe,将参数传入后台处理,如果出现汉字乱码
页面中的iframe:
&iframe id="UserInfoIframe" name="UserInfoIframe"
style="display:
none"&&/iframe&
js方法中:
_$param="userName="+Name+"&userID="+Id;//Name为汉字
&_$param=encodeURI(_$param);
&_$param=encodeURI(_$param);
var destUrl="/xxx/GetUserInfo_getInfo.action?"+_$
document.getElementByIdx("UserInfoIframe").src=destU
后台处理:
String userName=request.getParameter("userName");
&&&&&&&userName=java.net.URLDecoder.decode(userName,"UTF-8");
}catch (UnsupportedEncodingException e) {
&&&&log4j.error(e.getMessage());
&&&&e.printStackTrace();
& js方法中不需处理;
String buttonName=request.getParameter("buttonName");
buttonName = new String(buttonName.getBytes("GBK"),"UTF-8");
二、通过form表单提交到后台
通过form传入后台,提交方式分为post和get两种。两者的区别需要通过提交表单后才看得出来,主要是在数据发送方式和接收方式上。Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于:
1.在客户端,Get方式在通过URL提交数据,提交后在地址栏中的地址会出现传入到后台的参数;而Post提交后地址栏中的地址不会出现参数。
2.在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取。
一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。
Get把参数添加到action属性指定的地址中,并以锚方式打开。
&&&&Post通过HTTP&post处理发送数据。
如果将form中的参数含有汉字,提交到后台有可能也会出现乱码,一般如果method设置为“post”,将不会出现乱码,如果将method设置为“get”,可能在汉字传入到后台后会出现乱码问题。
&页面中的form:
&iframe id="userInfoIframe" name="userInfoIframe"
style="display:
none"&&/iframe&
&form id="userInfoForm" method="post" action=""
target="userInfoIframe"&
type="hidden" id="pageSize" name="pageSize"
value=""/&
type="hidden" id="destPage" name="destPage"
value=""/&
type="hidden" id="condition" name="condition"
value=""/&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 html页面中文乱码 的文章

 

随机推荐