其他分享
首页 > 其他分享> > 提交form表单时后台乱码问题解决

提交form表单时后台乱码问题解决

作者:互联网

今天学习文件上传时用到了form表单的提交,但是在后台看到提交的中文成了乱码。

此时,发现eclipse的工作区和工程的编码方式均为“UTF-8”,遂排除了编码的错误。

具体的原因

经多方查找,发现是Tomcat的解码方式默认是ISO-8859-1,而浏览器对中文数据的默认编码方式是“UTF-8”。因此,解码出现了乱码的情况。

问题的解决

在Servlet容器接收数据后,添加一行转码命令,比如:

name = fileItem.getString();
name = new String(name.getBytes("iso-8859-1"),"utf-8");  //更改编码方式

address = fileItem.getString();
address = new String(address.getBytes("iso-8859-1"),"utf-8");  //更改编码方式

或者手动设置编码方式设为“ISO-8859-1”,解码方式为“UTF-8”:

address = fileItem.getString();
address = java.net.URLEncoder.encode(address,"ISO-8859-1");
address = java.net.URLDecoder.decode(address,"UTF-8");

标签:UTF,getString,form,表单,乱码,8859,address,编码方式
来源: https://blog.csdn.net/qq_43553032/article/details/114499551