处理URL参数中包含有中文参数URL字符串问题
import org.apache.commons.codec.binary.Base64;//推荐使用commons-codec包,不要使用sun.misc.base64decoderString urlRaw = request.getParameter("url");String url = new String(Base64.decodeBase64(urlRaw.getBytes()));//Then, 就可以使用HTTPClient来请求数据//.... 1 楼 m635674608 2013-09-27 URLdecode也可以解决啊 2 楼 lv12312 2013-09-27 m635674608 写道URLdecode也可以解决啊 我开始也是这么思考的,用encodeURIComponent弄两遍,然后传到后台URLDecode解码,解出来的是GBK编码,而需要请求的应用又是UTF-8的,又要转码,太麻烦了;所以用了这种非常规的思维
3 楼 m635674608 2013-09-27 URLDecode解码,解出来的是GBK编码??? 不是吧?? 4 楼 lv12312 2013-09-27 m635674608 写道URLDecode解码,解出来的是GBK编码??? 不是吧??我的意思不是这个,URLDecode是随便可以按照任何编码格式解码的,不限定是GBK,这是我应用中这么做的,按照UTF-8的格式URLDecoder.decode(url,"utf-8");应用的编码是GBK的
5 楼 m635674608 2013-09-28 lv12312 写道m635674608 写道URLDecode解码,解出来的是GBK编码??? 不是吧??我的意思不是这个,URLDecode是随便可以按照任何编码格式解码的,不限定是GBK,这是我应用中这么做的,按照UTF-8的格式URLDecoder.decode(url,"utf-8");应用的编码是GBK的
那你这样不就可以了吗?URLDecoder.decode(url,"gbk") 6 楼 lv12312 2013-09-28 m635674608 写道lv12312 写道m635674608 写道URLDecode解码,解出来的是GBK编码??? 不是吧??我的意思不是这个,URLDecode是随便可以按照任何编码格式解码的,不限定是GBK,这是我应用中这么做的,按照UTF-8的格式URLDecoder.decode(url,"utf-8");应用的编码是GBK的
那你这样不就可以了吗?URLDecoder.decode(url,"gbk") 这样貌似也行,由于项目编码原因,还是需要多次转码,使用Base64之后,就转一次就OK了,虽然这样做稍微猥琐了一点,哈哈
7 楼 m635674608 2013-09-28 lv12312 写道m635674608 写道lv12312 写道m635674608 写道URLDecode解码,解出来的是GBK编码??? 不是吧??我的意思不是这个,URLDecode是随便可以按照任何编码格式解码的,不限定是GBK,这是我应用中这么做的,按照UTF-8的格式URLDecoder.decode(url,"utf-8");应用的编码是GBK的
那你这样不就可以了吗?URLDecoder.decode(url,"gbk") 这样貌似也行,由于项目编码原因,还是需要多次转码,使用Base64之后,就转一次就OK了,虽然这样做稍微猥琐了一点,哈哈
呵呵,方便就好