js编码之 encodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,\',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, \',(,),*,-,.,_,~,0-9,a-z,A-Z
建议继续学习:
- 字符编码和中文乱码小叙 (阅读:5829)
- 中文编码杂谈 (阅读:5081)
- Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (阅读:4753)
- PHP编码规范 (阅读:4492)
- base64_encode 和 urlencode (阅读:4200)
- UTF-8编码中BOM的检测与删除 (阅读:4168)
- Linux screen窗口中文乱码问题 (阅读:4094)
- Unicode与字符汉字相互转换 (阅读:4082)
- python-django的中文编码总结 (阅读:3920)
- JAVASCRIPT完美实现UTF8页面提交数据到GB2312 (阅读:3709)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:phpor <lijunjie1982@yahoo.com.cn> 来源: PHPor 的blog
- 标签: 编码
- 发布时间:2011-09-21 22:24:17
-
[83] memory prefetch浅析
-
[53] 转载:cassandra读写性能原理分析
-
[51] 深入浅出cassandra 4 数据一致性问
-
[51] 基本排序算法的PHP实现
-
[46] 字符引用和空白字符
-
[41] MySQL半同步存在的问题
-
[40] 获取Dom元素的X/Y坐标
-
[40] javascript插入样式
-
[39] Inline Form Labels
-
[38] JS中如何判断字符串类型的数字