2023拉

js转码函数

上一篇 / 下一篇  2012-09-20 20:23:12 / 个人分类:WEB测试技术

escape()编码,不能编码URI 
un上面()解码,不能编码URI 
encodeURIComponent()编码范围比encodeURI大些 
decodeURIComponent()解码范围比encodeURI大些 
encodeURI()对一个URI编码 
decodeURI()对一个URI解码 
isFininte()检测表达式的值,如果不是无穷大或NaN则为True 
isNaN()判断是否NaN 

 

最近做的一个项目中,需要前台用js来请求一个jsp文件,其中传递的参数中可能含有中文,还有特殊字符,所以需要在js中首先进行一下转码:

encodeURIComponent(str)

   在IE9按F12选择工具的Console输入

encodeURIComponent('preference_name_1=免费赠品&preference_desc_1=免费赠品&preference_name_2=免费接送&preference_desc_2=免费接送&preference_name_3=延迟退房&preference_desc_3=延迟退房')  回车即可知道转码之后的结果。str可以从Fiddl人er中获取,获取的信息已经是经过转码的信息,可以在百度搜索输入http://www.baidu.com/s?wd=‘str’转成我们可以看的懂的信息。

这样,该参数就被默认编码为UTF-8格式了,在后台的jsp中为了能得到相应的中文,需要首先将request的编码设置为UTF-8:

request.setCharacterEncoding("UTF-8");

然后,再得到参数值:

request.getParameter("userid");

正常情况下,如果你的环境默认编码为GBK的话,就能得到正确的中文了。

但如果你的环境默认为英文的话,则还需要进行以下转码:

new String(str.getBytes("GBK"));


TAG:

 

评分:0

我来说两句

Open Toolbar