针对前台数据传到后台汉字出现乱码的情况分析及解答
针对前台数据传到后台汉字出现乱码的情况分析及解答
首先,出现这种问题的原因:
一般默认安装的tomcat应用服务器的接收get方式提交的数据是以ISO-8859-1方式处理的,假如服务器接收的url链接是以gbk方式加密的。那么你需要解码才能对上边的中文进行正确的识别。否则你服务器接收到的就是乱码。
解决方法是:
一般的解码操作的方法是new String(request.getParameter("zhongwen").getBytes("ISO-8859-1"),"GBK"),意思就是将获取的数据转成GBK。
其次,针对不想解码操作的对象来说。还有种解决方法:
在tomcat/conf/server.xml中增加一个配置参数:URIEncoding="GBK"(此处是针对gbk编码的设定)
最终更改文件的位置在:
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="GBK"/>
就是在你更改tomcat端口的地方。Connector上增加这么一个参数就ok了。
同样,如果你要接收的是UTF-8类型的数据,那么就仿照GBK这种方式做处理就ok了
浙公网安备 33010602011771号