最近在使用 MySQL 數據庫時,發現查詢出來的中文都是問號,很是困擾。經過一番研究,發現是字符集設置不正確導致的問題。
在 MySQL 中,字符集是非常重要的。如果字符集設置不正確,就有可能導致中文亂碼的問題。而 MySQL 默認的字符集是 latin1,而我們平時使用的大多是 UTF-8。因此,在創建表的時候,需要將字符集設置為 UTF-8:
CREATE TABLE my_table (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在插入數據時,也要保證數據的字符集和表的字符集匹配:
INSERT INTO my_table (name) VALUES ('張三') CHARSET utf8;
如果已經存在表,但是字符集設置不正確,可以通過以下語句手動修改表的字符集設置:
ALTER TABLE my_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
另外,在連接 MySQL 服務器時,也需要設置字符集。可以在連接字符串中指定字符集:
mysql -u root -p --default-character-set=utf8
以上就是解決 MySQL 中文亂碼問題的基本方法。一旦設置正確,就可以愉快地查詢并正確地顯示中文了。
下一篇css3的logo