解决中文乱码问题

时间:2023-02-10 10:15:07

这几天遇到一些关于Action中获取jsp页面a标签的值会出下一些乱码问题。自己做了一些相关的总结。解决这个问题要找到根本原因,如果以下代码:

<a href="actionName.action?aName=value">.....</a>

在action类中获取value,代码如下:

HttpServletRequest request = ServletActionContext.getRequest();
String aName = request.getParameter("aName");

这样子得到的值如果是中文可能会出现中文乱码,原因是jsp经过服务器tomcat请求action,tomcat默认编码是(ISO-8859-1)。

解决方法一:在action类中添加下面代码:
aName  = new String(aName .getBytes("ISO-8859-1"), "UTF-8");

方法二:在tomcat中的server文件中的找到并修改如下:

  1. <Connector port="8080" maxHttpHeaderSize="8192"  
  2.                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
  3.                enableLookups="false" redirectPort="8443" acceptCount="100"  
  4.                connectionTimeout="20000" disableUploadTimeout="true" <span style="color: #ff0000;">URIEncoding="UTF-8"</span> /> 
当然要确保你的Eclipse的项目工程是UTF-8编码的。