url中文乱码:URL传参中文乱码

我想URL传参中文对于员来说是个很头疼问题吧虽然在尽量避免使用中文参数但总有避免不了时候现就自己经验整理总结如下:

1.串转码: String(xxxxx.getBytes("iso-8859-1"),"utf-8")

这种转码方式有很大弊端它是使用指定集将此 String编码为 序列并将结果存储到个新 然后通过使用指定编码将生成 解码构造个新String这种情况就有可能遇到情况是不能将个汉字全部解码完这样前边都能正常显示但是最后个字可能是乱码

所以不建议使用这种方式

 

2.在传参前转码接收参数后再转码回来

这种方式有两种:

种:

传参前:使用java.net.URLEncoder.encode("xxxx",utf-8")将中文转为16进制

接收参数后:使用java.net.URLDncoder.decode("xxxx",utf-8")16进制转为中文

这种方式需要注意在使用encode转码后会出现特殊这时候就需要将特殊替换为相应16进制特殊url路径中做为参数传递时也是乱码

 

第 2种:

传参前:encodeURI(xxxx)  

接收参数后:使用java.net.URLDncoder.decode("xxxx",utf-8")16进制转为中文

这种方式需要注意在使用encodeURI转码后会出现特殊这时候就需要将特殊也转码,所以使用两次encodeURI即:

encodeURI(encodeURI(“xxxx”))

 

这两种转码方式是很好用所以很建议大家使用

 

3. 修改tomcat配置文件:

Tomcat安装目录下conf文件夹中server.xml文件将配置访问端口地方加上URIEncoding=utf8"即可  <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" URIEncoding="GBK">

个人认为这种思路方法没用

TAG: url 中文乱码

Tags:  url传递中文乱码 javaurl中文乱码 jspurl中文乱码 url中文乱码

延伸阅读

最新评论

发表评论