許多Mysql的默認的編碼是latin1,如果Mysql在安裝的時候沒有改變編碼,直接對其錄入中文是不行的,會亂碼的,
首先把要存中文的那個字段的編碼從latin1改成utf-8。如果使用MySQLQueryBrowser可以打開要修改的表,點擊要修改的字段,在Column details那裡的 Column Charset中修改成utf-8
在Servlet的Java文件中,連接數據庫必須帶參數連接?useUnicode=true&characterEncoding=utf8&useOldAliasMetadataBehavior=true
同時,Servlet在jsp網頁與java文件之間,使用form表單傳遞漢字,也是有可能會亂碼的
如果遇到亂碼情況,首先要在網頁頭聲明使用<%@ page import="java.net.*"%>
再在傳遞中文的表單,通過URLEncoder.encode("字符串", "utf-8")把字符串轉碼成utf-8
然後在需要使用request.getParameter接收的Java文件中,使用URLDecoder.decode(request.getParameter("字符串被定義的參數名"), "utf-8");解碼
這樣,傳進數據庫的漢字,就不會出現亂碼情況。
對於在調試過程的數據庫,可以使用Truncate Table把整個表清空,最重要的是,能夠使自增字段的值歸零。
Truncate是一個能夠快速清空資料表內所有資料的SQL語法。並且能針對具有自動遞增值的字段,做計數重置歸零重新計算的作用。