在jsp開發中經常遇到中文亂碼的問題,遇到中文亂碼時只要保證以下幾處設置好編碼就能解決中文亂碼
JSP網頁開頭處:
<%@ page language="java" pageEncoding="utf-8"%>
.
.
.
<head>
.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
.
<head>
這兩處可以保證web頁面的中文不亂碼。在中文提交到servlet時爲了保證servlet接收到的中文不是亂碼在get和post方法裏設置如下:
get()方法裏:
String name = new String(request.getParameter("name").getBytes("iso8859-1"),"utf-8");
post()方法裏:
request.setCharacterEncoding("UTF-8");
這項servlet接收到的中文就不會亂碼。
當中文下入到mysql裏面時,爲了保證中文部亂碼需要建數據庫時設置數據庫及字段爲utf-8格式,並且還需要設置下面兩部分:
在mysql安裝目錄下的my.ini文件後面添加如下一行:
default-character-set=GBK
記得是“GBK”而不是“UTF-8”
並還有一處是,數據庫url,
url="jdbc:mysql://localhost:3306/ebookstore?useUnicode=true&characterEncoding=gbk"
如果使用的是連接池,那就再tomcat裏面的context文件裏面寫上如上的形式,記得&別忘了。
如果是在代碼裏配置的數據庫那就寫成這樣:
url="jdbc:mysql://localhost:3306/ebookstore?useUnicode=true&characterEncoding=gbk"