首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

URLEncoder.encode(str, "utf-8") 异常如何解决

2012-02-21 
URLEncoder.encode(str, utf-8) 错误怎么解决我的开发环境是weblogic,jdk1.3,GBK的。我需要将URL里的内容

URLEncoder.encode(str, "utf-8") 错误怎么解决
我的开发环境是weblogic,   jdk1.3,   GBK的。
我需要将URL里的内容改成UTF-8,但是总出现编译错误(如下)。
在不改开发环境的情况下,将GBK改成UTF-8的话(我已经加了java.net包),怎么解决啊?

D:\bea\wlserver6.1\config\das\applications\das-c\WorkingDir\jsp_servlet\_jsp\_sms\__save_file.java:193:   encode(java.lang.String)   in   java.net.URLEncoder   cannot   be   applied   to   (java.lang.String,java.lang.String)
                        String   smstext               =   java.net.URLEncoder.encode(request.getParameter( "smstext "), "UTF-8 ");     //[   /jsp/sms/save_file.jsp;   Line:   18]
                                                                                                            ^
1   error



[解决办法]
title=URLDecoder.decode(title, "UTF-8 ");//解码 E5%88%98 将解为中文
p2=URLEncoder.encode(p1, "UTF-8 ");//编码
配合使用
[解决办法]
可能是不了解getParameter方法的内部工作细节造成的
getParameter方法内部要先进行URL解码,其使用哪种字符集编码进行编码有一下两种依据方式
(1)当客户端采用url地址后面传递参数的时候,getParameter默认使用ISO-8859-1编码进行URL解码
(1)如果客户端采用实体内容传递参数时,getParameter方法采用getCharacterEncoding方法返回的字符集编码进行解码,如果getCharacterEncoding方法返回值为null时,才采用ISO-8859-1编码进行解码。

热点排行