我的开发环境是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编码进行解码。