首页 新闻 会员 周边 捐助

JS编码后转中文

0
[已解决问题] 解决于 2013-05-06 16:00

页面JS从.cs后台读取出来的参数被编码了,“%E8%81%94%E4%BF%A1%E7%94%B5%E5%AD%90” 变成这样了,不能正常在页面显示中文文字,请大师指点

淘@淘的主页 淘@淘 | 小虾三级 | 园豆:602
提问于:2013-05-06 15:29
< >
分享
最佳答案
0
decodeURI("%E8%81%94%E4%BF%A1%E7%94%B5%E5%AD%90")
或
decodeURIComponent("%E8%81%94%E4%BF%A1%E7%94%B5%E5%AD%90")
奖励园豆:5
芒果の冰 | 初学一级 |园豆:187 | 2013-05-06 15:34

这两有什么区别呢

淘@淘 | 园豆:602 (小虾三级) | 2013-05-06 15:37

@淘@淘: 

1.传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断

2.进行url跳转时可以整体使用encodeURI 

3.JS使用数据时可以使用escape

 

最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)

芒果の冰 | 园豆:187 (初学一级) | 2013-05-06 15:40
其他回答(2)
0

前台js接受的时候也编码一下

twistting | 园豆:575 (小虾三级) | 2013-05-06 15:32

怎么编码呢

支持(0) 反对(0) 淘@淘 | 园豆:602 (小虾三级) | 2013-05-06 15:33

@淘@淘: 使用 JS 中的 encodeURIComponent 、escape或 encodeURI 方法

支持(0) 反对(0) twistting | 园豆:575 (小虾三级) | 2013-05-06 15:36
0

HTML的charset和C#里处理的charset 设置成相同的,如gb2312,utf-8

三阶 | 园豆:1636 (小虾三级) | 2013-05-06 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册