JS 文件本身编码转换 图文教程


Posted in Javascript onOctober 12, 2009

在百度、谷歌上一搜,大家都是说通过JAVA后台处理来解决编码问题,试问,这样能解决JS文件本身的编码问题吗?

之所以提出JS文件本身编码问题,是因为JS文件的编码不同,造成了中文显示为乱码。

通常,在Eclipse中建立一个JS文件(含有中文),在Eclipse的编辑器中看到的中文都很正常,但是显示在网页上就是乱码,而我的页面全部都是采用UTF-8编码进行编码的,为此,我想到了,这可能是JS文件本身编码问题造成的。

JS 文件本身编码转换 图文教程
在Eclipse中,JS文件中的中文显示正常

JS 文件本身编码转换 图文教程
在网页中,中文却显示为乱码

我想到了这可能是由于JS文件本身编码问题所导致的,其实这是正确的。这里要用到一个小工具,叫NotePad2,翻译过来就是记事本第代,这个小工具很好用,绿色免安装,完全可以取代windows系统自带的记事本软件。它的下载地址是:http://download.csdn.net/source/1732849

用NotePad2打开JS文件,查看JS文件的编码,发现JS文件的编码是ANSI,ANSI编码采用0x80~0xFF范围内的2个字节来表示1个字符。例如,汉字“中”在中文操作系统中,使用[0xD6,0xD0]这两个字节来存储。但是,不同的国家和地区制定了不同的ANSI标准,使得不同ANSI编码之间互不兼容。大家都知道,在中国,浏览器的编码要么是GBK或GB2312编码,要么是UTF8编码,当以ANSI编码的中文发送到网页上时,自然就显示为乱码了,所以这是问题的根本。

JS 文件本身编码转换 图文教程

借助NotePad2软件,将JS文件的编码转换成UTF-8编码,因为UTF-8编码是计算机通用编码,能支持几乎所有国家或地区的语言文字,而且浏览器本身就支持UTF-8编码。

JS 文件本身编码转换 图文教程

OK,再来看看在浏览器上的效果。显而易见,中文显示正常,乱码问题解决。并非像网上所说的“使用JS中的encodeURIComponent或encodeURI方法”,既复杂又难懂,还要经过复杂的编程,实在是不可取。

JS 文件本身编码转换 图文教程

经我的测试,无论是使用新建文本文档然后将扩展名改成.js,还是用其他软件或工具创建的JS文件,用NotePad2软件打开查看编码,发现 JS文件的编码都是ANSI,因此我猜测,难道JS文件的默认编码是ANSI编码?当然这个我并没有去考证,在网上也没有相关的资料可以证明JS文件的默认编码是ANSI编码,仅个人猜测而已。

但是,至少,如果JS文件中的中文在网页上显示为乱码,不妨采用本文章中的方法来试一试,或许能解决使你很头疼的问题。

Javascript 相关文章推荐
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
jquery中$each()方法的使用指南
Apr 30 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
Oct 24 Javascript
学习vue.js中class与style绑定
Dec 03 Javascript
js, jQuery实现全选、反选功能
Mar 08 Javascript
浅谈js中的this问题
Aug 31 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
Nov 13 Javascript
Vue 自定义动态组件实例详解
Mar 28 Javascript
javascript中关于类型判断的一些疑惑小结
Oct 14 Javascript
jQuery 行级解析读取XML文件(附源码)
Oct 12 #Javascript
jquery select选中的一个小问题
Oct 11 #Javascript
Jquery 表单取值赋值的一些基本操作
Oct 11 #Javascript
jquery 框架使用教程 AJAX篇
Oct 11 #Javascript
jQuery live( type, fn ) 委派事件实现
Oct 11 #Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 #Javascript
JS模拟的QQ面板上的多级可展开的菜单
Oct 10 #Javascript
You might like
分享PHP入门的学习方法
2007/01/02 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
javascript 数组排序函数
2009/08/20 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Tornado 多进程实现分析详解
2018/01/12 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python 实现单例模式的5种方法
2020/09/23 Python
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
推广活动策划方案
2014/08/23 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python