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
中文乱码
延伸阅读
最新评论