JS中的编码问题
2016-05-13 10:09
513 查看
如果在当前页面嵌入js,那么如果js文件中的编码方式和当前页面的编码方式不一样,那么js中的中文将会出现乱码情况;
实际上JS中处理URL编码只要掌握是三个函数就可以
(1).escape(),这个函数将ASCII字母、数字、标点符号(* + - 。/ @ _)以外其他所有字符转化成Unicode编码值,并且在编码值前加上“%u”,该函数使用对应的解码函数unescape();注意,escape()和unescape()已经从ECMAScript v3标准中删除了,URL的编码可以用encodeURL和encodeURLComponent来代替。
(2).encodeURL(),与escape()函数相比,encodeURL() 是真正JS用来对URL编码的函数,它可以将整个URL中的字符(除了一些特殊字符,如!#&'()*+,-./:;=?@_~0-9a-zA-Z)进行UTF-8编码,在每个码值前加上“%”。相应的解码通过decodeURL()函数。
(3).encodeURLComponent(),该函数比encodeURL()函数更加彻底,它除了对!'()*-._!0-9a-zA-z这几个字符不编码之外,其他字符都编码,这个函数通常用于将一个URL当做一个参数放在另一个URL中。
备注:java端的URLEncoder和URLDecode与前端JS对应的是encodeURLComponent和decodeURLComponent。
XML可以通过设置头文件来制定编码格式:
Velocity模板设置编码格式:
JSP设置编码格式:
一.JS中的URL编码
使用Ajax中的http_request.open('GET',url,true)调用,URL的编码在IE下是操作系统的默认编码,而在Firefox下则是UTF-8编码。另外不同的js框架可能对URL的编码处理也不一样。实际上JS中处理URL编码只要掌握是三个函数就可以
(1).escape(),这个函数将ASCII字母、数字、标点符号(* + - 。/ @ _)以外其他所有字符转化成Unicode编码值,并且在编码值前加上“%u”,该函数使用对应的解码函数unescape();注意,escape()和unescape()已经从ECMAScript v3标准中删除了,URL的编码可以用encodeURL和encodeURLComponent来代替。
(2).encodeURL(),与escape()函数相比,encodeURL() 是真正JS用来对URL编码的函数,它可以将整个URL中的字符(除了一些特殊字符,如!#&'()*+,-./:;=?@_~0-9a-zA-Z)进行UTF-8编码,在每个码值前加上“%”。相应的解码通过decodeURL()函数。
(3).encodeURLComponent(),该函数比encodeURL()函数更加彻底,它除了对!'()*-._!0-9a-zA-z这几个字符不编码之外,其他字符都编码,这个函数通常用于将一个URL当做一个参数放在另一个URL中。
备注:java端的URLEncoder和URLDecode与前端JS对应的是encodeURLComponent和decodeURLComponent。
二.其他需要编码的地方
除了URL和参数编码问题外,在服务器还有很多地方可能存在编码,如可能西尧都区XML、Velocity模板引擎、jsp或者从数据库中读取数据。XML可以通过设置头文件来制定编码格式:
<?xml version="1.0" encodeing="UTF-8"?>
Velocity模板设置编码格式:
services.VelocityService.input.encoding=UTF-8
JSP设置编码格式:
<%@page contentType="text/html;charset=UTF-8"%>
相关文章推荐
- java-用HttpURLConnection发送Http请求.
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- VBScript 剪贴板抓取URL并在浏览器中打开
- js可突破windows弹退效果代码
- Orace查询数据出现乱码的问题解决思路
- oracle em 按钮乱码解决办法及em网页变成英文
- JSP脚本漏洞面面观
- C#读取中文文件出现乱码的解决方法
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- ASP编码必备的8条原则
- mysql命令提示行连接乱码的解决
- 解决Java程序使用MySQL时返回参数为乱码的示例教程
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
- 爆炸式的JS圆形浮动菜单特效代码
- XML指南——XML编码
- asp获取URL参数的几种方法分析总结[原创]_应用技巧_脚本之家