java 求助:如何解决地址栏传参数为中文文件路径时 乱码的情况?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 求助:如何解决地址栏传参数为中文文件路径时 乱码的情况?相关的知识,希望对你有一定的参考价值。

比如:http://localhost:7001/getNote.do?FilePath=F:\Note\短信.txt
地址栏里 “短信”两字显示乱码,当然 得到的FilePath这个参数也显示 乱码
这个问题怎么解决?

参考技术A String FilePath="F:\Note\短信.txt";
按1楼的配置完成后,在jsp页面page里加上pageEncoding="UTF-8"

传递参数时这样:
FilePath=<%=java.net.URLEncoder.encode(FilePath,"UTF-8")%>
必须这样,要不偶数个汉字没问题,而奇数个汉字就有问题了。呵呵追问

采用的是 weblogic 如何配? 都用的是gbk 可行?

追答

不清楚weblogic,我有个建议,都用UTF-8编码,原因我说不上来,反正UTF-8对字母和汉字识别都很好,不会出现乱码的情况。

追问

这是公司的一个项目 公司统一采用gbk 我也没办法的事情。原以为传中文路径和传中文参数会一样呢。。最后发现不行。

追答

那你就把所有的 凡是有编码格式的 都改为GBK, 按理说应该也可以的。
即:pageEncoding="GBK"

FilePath=

tomcat里的也改为GBK编码 应该是可行的。

本回答被提问者采纳
参考技术B 把Tomcat的Config目录下的server.xml 71和91行的配置里添加 URIEncoding=“UTF-8”项目编码也要改成UTF-8 。OK! 参考技术C 在你接值的时候String s = new String("xxx".getBytes("ISO-8859-1"),"UTF-8")
xxx是你接受的值

java post时设置参数的问题求助

url,[data],[callback],[type]
其中url为必填项,其值为请求的地址
data为可填可不填项,其值为要传送的key/value的值
callback为可填可不填项,为回调函数,当请求成功后,执行的内容
type为可填可不填项,为返回的数据格式
参考技术A 什么意思,是发送post请求时,设置什么参数,麻烦说清楚,

以上是关于java 求助:如何解决地址栏传参数为中文文件路径时 乱码的情况?的主要内容,如果未能解决你的问题,请参考以下文章

地址栏传参,加密参数中特殊字符处理问题

如何防止通过url地址栏直接访问后台

AES地址栏传参加密

layer.open Iframe弹窗 除了地址栏传参,怎么给子页面传递参数

Action属性接收参数

java post时设置参数的问题求助