如果使用get方法传数据,需要注意编码:编码转换
public String code(String s) {
String str = s;
try {
byte b[] = str.getBytes("ISO-8859-1");
str = new String(b);
return str;
}catch(Exception e) {
return str;
}
}
0:JSP页面中
<%@ pagepageEncoding="utf-8"%>
//是指JSP页面保存时使用的编码方式,也就是JSP文件保存在硬盘上所使用的编码方式
<%@ page contentType="text/html;charset=utf-8" %>
//是指JSP页面输入输出使用的编码方式,很多服务器在没有找到pageEncoding时,有charset代替pageEncoding
1:ACTION层的方法:
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
2:配置文件里的.
配置server.xml。
<Connectorport="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"URIEncoding="UTF-8" />
<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" URIEncoding="UTF-8"/>
3:配置文件里的.
配置web.xml
<filter>
<filter-name>setEncoding</filter-name>
<filter-class>com.dinner.filter.CharsetFilters</filter-class>
<init-param>
<param-name>coding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4:工程编码
开发中发现Windows版Eclipse默认Java和Web工程的默认编码方式不那么遂人愿,修改方法如下:
1. Web工程文件编码修改方式
Window -> Preference -> Content types
推荐将Web相关文件的编码都设置为UTF-8
2. Java源文件编码修改方式
Window -> Preference -> Workspace -> Text file encoding
Windows平台默认为GBK,Linux平台默认为UTF-8