您的位置:首页 > 其它

参数字符串ur传递中文参数乱码处理

2013-05-21 22:01 337 查看
近期一直在研究参数字符串之类的问题,现在正好有机会和大家讨论一下.

中文参数在我们的web项目中,传递会涌现乱码。这一直是让人觉得比较烦的问题。我解决问题的基本思路是:

1,在前台对中文件参数停止编码。

2,在后台接收参数后,再对中文参数停止解码。

中文参数编码处置:encodeURI(encodeURI(这里是你要传递的中文参数));

后台接收中文参数停止解码: java.net.URLDecoder.decode(你获取到的中文参数, "UTF-8");

上面的两个步调基本就能够解决问题。

---------------------补充

每日一道理

生命,是一场漫长的棋局。这盘棋没有猎猎西风,没有四起狼烟,只有在取舍和进退中抉择。只有像棋中的小卒那样,勇往直前,毫不退缩沿着沟沟坎坎的人生之路,艰难而执着的求索,前进,才会谱写人生最壮丽的强者之歌。

javascript中存在几种对URL字符串停止编码(的)方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起(的)作用各不相同。
escape() 方法:
采用ISO Latin字符集对指定(的)字符串停止编码。所有(的)空格符、标点符号、特殊字符以及其他们非ASCII字符都将被转化成%xx格式(的)字符编码(xx即是该字符在字符集表里头(的)编码(的)16进制数字)。比如,空格符对应(的)编码是%20。
不会被此方法编码(的)字符: @ * / +
encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式(的)字符串。
不会被此方法编码(的)字符:! @ # $& * ( ) = : / ; ? + '
encodeURIComponent() 方法:
把 URI字符串采用UTF-8编码格式转化成escape格式(的)字符串。与encodeURI()相比,这个方法将对更多(的)字符停止编码,比如 / 等字符。所以如果字符串里头包含了URI(的)几个部分(的)话,不能用这个方法来停止编码,否则 / 字符被编码之后URL将表现错误。
不会被此方法编码(的)字符:! * ( ) '
因 此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式(的)(比如原页面和目标页面(的)charset是分歧(的)时候),只需要应用 escape。如果你们(的)页面是GB2312或者其他们(的)编码,而接受参数(的)页面是UTF-8编码(的),就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进(的),escape则在javascript1.0版本就有。

传参:用encodeURI("url参数")将url编码
收参:用decodeURI("接收到(的)值")解码

文章结束给大家分享下程序员的一些笑话语录:

大家喝的是啤酒,这时你入座了。

你给自己倒了杯可乐,这叫低配置。

你给自已倒了杯啤酒,这叫标准配置。

你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。

你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。

你的同事给你倒了杯白酒,这叫推荐配置。

菜过三巡,你就不跟他们客气了。

你向对面的人敬酒,这叫p2p。

你向对面的人敬酒,他回敬你,你又再敬他……,这叫tcp。

你向一桌人挨个敬酒,这叫令牌环。

你说只要是兄弟就干了这杯,这叫广播。

有一个人过来向这桌敬酒,你说不行你先过了我这关,这叫防火墙。

你的小弟们过来敬你酒,这叫一对多。

你是boss,所有人过来敬你酒,这叫服务器。

酒是一样的,可是喝酒的人是不同的。

你越喝脸越红,这叫频繁分配释放资源。

你越喝脸越白,这叫资源不释放。

你已经醉了,却说我还能喝,叫做资源额度不足。

你明明能喝,却说我已经醉了,叫做资源保留。

喝酒喝到最后的结果都一样

你突然跑向厕所,这叫捕获异常。

你在厕所吐了,反而觉得状态不错,这叫清空内存。

你在台面上吐了,觉得很惭愧,这叫程序异常。

你在boss面前吐了,觉得很害怕,这叫系统崩溃。

你吐到了boss身上,只能索性晕倒了,这叫硬件休克。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: