mysql的預設編碼是拉丁,每次JSP製作網頁用insert語句插入資料庫時漢字都會顯示成問號,安裝mysql後,啟動服務並登陸,使用show variables命令可查看mysql資料庫的預設編碼:
由上圖可見database和server的字元集使用了latin1編碼方式,不支援中文,即儲存中文時會出現亂碼。以下是命令列修改為utf-8編碼的過程,以支援中文。
(1)關閉mysql服務
[plain] view plaincopy
service mysql stop
(2)修改 /etc/mysql/my.cnf (預設的安裝路徑)
[plain] view plaincopy
vim /etc/mysql/my.cnf
開啟my.cnf後,在檔案內的[mysqld]下增加如下兩行設定:
[plain] view plaincopy
character_set_server=utf8
init_connect='SET NAMES utf8'
(具體如截圖所示):
儲存退出。
(3) 重新啟動mysql服務
[plain] view plaincopy
service mysql start
至此,完成修改預設編碼,登陸mysql後重新使用show variable like '%character%'獲得的輸出效果如下:
注
具體操作和輸出情況如下:
解決方案:開啟mysql安裝目錄:C:Program FilesMySQLMysql server5.5
開啟檔案my.ini設定檔,找到 default-character-set=latin1 並改為:
default-character-set=gbk,找到 character-set-server=latin1 並改為:
character-set-server=gbk,修改完之後儲存。
最後:我的電腦右擊 “管理”進入之後選擇“服務和應用程式”下的“服務”
找到“mysql”之後右擊選擇“重新啟動”。
把jsp頁面中的<%@ a="" href="http://www.cr173.com/k/odin/" import="java.util.*" language="java" page="" style="text-decoration: underline; color: rgb(0,82,157)" target="_blank">odin g="ISO-8859-1"%>改為