① MySQL資料庫中的中文亂碼如何解決
mysql數據亂碼問題可能有以下三種原因:
1.server本身設定問題,例如還停留在latin1版本;
2.table的語系設定問題(包含character與collation);
3.客戶端程式(例如php,java)的連線語系設定問題;
建議使用utf8!!!!
想要避免mysql的中文亂碼問題,可以嘗試以下方法:
1,對於版本問題,建議去官網更新最新的版本或者比較好用的版本;
2,創建資料庫,創建表時沒有對字元編碼進行設定會造成亂碼問題:
創建資料庫的時候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
建表的時候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3,對於第三種情況,參考一下方法:
編輯linux伺服器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;
如果只是調試遇到亂碼問題:
在編寫Connection URL時,加上?useUnicode=true&characterEncoding=utf-8參數;
並且在網頁代碼中加上一個"set names utf8"或者"set names gbk"的指令,告訴MySQL連線內容都要使用utf-8或者gbk。
utf8或者gbk;
② mysql命令界面中文亂碼
只要html和程序中使用同一種編碼 應該不會出現亂碼 如果還有亂碼則是資料庫問題 建議修改如下
① 首先把MySQL的服務停掉 在運行窗口輸入:net stop mysql
② 把伺服器和客戶端的字元集改成自己想用的字元集:GB2312或是utf8等……
具體操作為:打開mysql安裝目錄下的my.ini;
找到default-character-set,將其改為自己想用的字元集:GB2312或是utf8等……,要注意的是這里有兩個default-character-set,用ctrl+f定位在文件最前面輸入default就會找到,都要改過來;
③ 重啟MySQL伺服器,在運行窗口輸入:net start mysql
④ 最重要的是一點是,到這里我們已經能夠解決亂碼問題了,可問題是我們依然還會出現亂碼問題,這是因為我們現在的表被創建的時候用的是默認的字元集(latin1),所以這時候我們要把表刪除,然後重建就可以了
你可以試試