1:比較土鱉的方式
String name = req.getParameter("name");
name = new String(name.getBytes("iso-8859-1"),"GBK");
2:土鱉方式另一個(gè)
req.setCharacterEncoding(encoding);
res.setContentType("text/html;charset="+encoding);
3:比較正規(guī)的用Filter過濾
?配置xml
?<!-- filter xml 配置 -->
?
? <filter>
? ?<filter-name>MyFilter</filter-name>
? ?<filter-class>com.xiaofu.filter.MyFilter</filter-class>
? ?<init-param>
? ??<param-name>encoding</param-name>
? ??<param-value>GBK</param-value>
? ?</init-param>
? </filter>
?
? <filter-mapping>
? ?<filter-name>MyFilter</filter-name>
? ?<url-pattern>/*</url-pattern>
?<dispatcher>FORWARD</dispatcher>? ?
?<dispatcher>REQUEST</dispatcher>
? </filter-mapping>
?Myfilter類
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyFilter implements Filter {
?private String encoding = null;
?private FilterConfig filterConfig = null;
?
?public void destroy() {
??this.encoding = null;
??this.filterConfig = null;
?}
?public void doFilter(ServletRequestservletReq,ServletResponseservletRes,
???FilterChain chain) throws IOException, ServletException {
??if(filterConfig!=null){
???servletReq.setCharacterEncoding(encoding);
???servletRes.setContentType("text/html;charset="+encoding);
??}
??chain.doFilter(servletReq, servletRes);
?}
?public void init(FilterConfigfilterConfig) throws ServletException {
??this.filterConfig = filterConfig;
??this.encoding = filterConfig.getInitParameter("encoding");
?}
}
4:Mysql數(shù)據(jù)庫亂碼(改完記得重啟)
--1步
在D:\MySql下有個(gè)my.ini文件編輯打開
找到里面的default-storage-set=XXX(這個(gè)東西有的有兩個(gè),有的有一個(gè),有幾個(gè)改幾個(gè))
XXX可以替換為utf-8 ?或者 gbk(首選)
--2步
當(dāng)在mysql的控制臺(tái)輸入漢字后插入,select后仍然亂碼
在控制臺(tái)輸入set names gbk;
5:建表時(shí)候設(shè)置表編碼
--建庫
create database 'test' default character set?gbk;
--使用庫test
use test
--在test庫里面建表students
create table?students(id int);
此時(shí)students表的編碼為gbk
聯(lián)系客服