當通過程序或者MySQL客戶端插入數據的時候出現中文變成??這種類似的亂碼時,多半是由於數據庫編碼的問題
1.如果是Java程序,則在url連接的地方加上?useUnicode=true&characterEncoding=utf-8
2.如果通過客戶端或者命令行插入也依然報錯,則修改mysql安裝配置文件my.ini
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
3.將數據庫的編碼改成utf-8
create database mydb default character setutf8 collate utf8_general_ci;
4.建立表的時候也要指定其字符集
CREATE TABLE IF NOT EXISTS mydb
(
username varchar(64) NOT NULL,
userid int(11) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果不清楚當前數據庫的字符情況,可以通過客戶端執行:SHOW VARIABLES LIKE 'char%';查看