我需要将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
5 个解决方案
#1
title=URLDecoder.decode(title, "UTF-8");//解码 E5%88%98 将解为中文
p2=URLEncoder.encode(p1,"UTF-8");//编码
配合使用
p2=URLEncoder.encode(p1,"UTF-8");//编码
配合使用
#2
request.getParameter("smstext").toString()就好使了
#3
这个在jdk1.4里可以用,但是我这边得使用jdk1.3的。
就是得在jdk1.3里将中文转换为UTF-8
就是得在jdk1.3里将中文转换为UTF-8
#4
那你写个过滤filter吧
#5
可能是不了解getParameter方法的内部工作细节造成的
getParameter方法内部要先进行URL解码,其使用哪种字符集编码进行编码有一下两种依据方式
(1)当客户端采用url地址后面传递参数的时候,getParameter默认使用ISO-8859-1编码进行URL解码
(1)如果客户端采用实体内容传递参数时,getParameter方法采用getCharacterEncoding方法返回的字符集编码进行解码,如果getCharacterEncoding方法返回值为null时,才采用ISO-8859-1编码进行解码。
getParameter方法内部要先进行URL解码,其使用哪种字符集编码进行编码有一下两种依据方式
(1)当客户端采用url地址后面传递参数的时候,getParameter默认使用ISO-8859-1编码进行URL解码
(1)如果客户端采用实体内容传递参数时,getParameter方法采用getCharacterEncoding方法返回的字符集编码进行解码,如果getCharacterEncoding方法返回值为null时,才采用ISO-8859-1编码进行解码。
#1
title=URLDecoder.decode(title, "UTF-8");//解码 E5%88%98 将解为中文
p2=URLEncoder.encode(p1,"UTF-8");//编码
配合使用
p2=URLEncoder.encode(p1,"UTF-8");//编码
配合使用
#2
request.getParameter("smstext").toString()就好使了
#3
这个在jdk1.4里可以用,但是我这边得使用jdk1.3的。
就是得在jdk1.3里将中文转换为UTF-8
就是得在jdk1.3里将中文转换为UTF-8
#4
那你写个过滤filter吧
#5
可能是不了解getParameter方法的内部工作细节造成的
getParameter方法内部要先进行URL解码,其使用哪种字符集编码进行编码有一下两种依据方式
(1)当客户端采用url地址后面传递参数的时候,getParameter默认使用ISO-8859-1编码进行URL解码
(1)如果客户端采用实体内容传递参数时,getParameter方法采用getCharacterEncoding方法返回的字符集编码进行解码,如果getCharacterEncoding方法返回值为null时,才采用ISO-8859-1编码进行解码。
getParameter方法内部要先进行URL解码,其使用哪种字符集编码进行编码有一下两种依据方式
(1)当客户端采用url地址后面传递参数的时候,getParameter默认使用ISO-8859-1编码进行URL解码
(1)如果客户端采用实体内容传递参数时,getParameter方法采用getCharacterEncoding方法返回的字符集编码进行解码,如果getCharacterEncoding方法返回值为null时,才采用ISO-8859-1编码进行解码。