分析原因:這是因為之前修改了數據庫的編碼,但數據表的編碼卻沒有跟着改變導致的。
安裝mysql 時,使用的是latin編碼(隨后修改為utf8)。建的數據表是在latin編碼下建立的。而jsp頁面使用的是utf8,所以無法插入數據。。。
1.修改mysql數據庫編碼
修改MySQL安裝目錄下的my.ini文件
default-character-set=utf8
character-set-server=utf8
然后重啟MySQL服務,MySQL 沒有重啟的命令,要先停止,然后再啟動。
這樣就確保了,mysql中的編碼類型
用show variables like 'char%'; 或status;命令 查看得到如下:
紅色方框應改為gb2312編碼,否則在dos下顯示中文亂碼。
2.解決方法
設置表的編碼格式,執行;alter table 數據表名 CONVERT TO CHARACTER SET utf8;命令