在使用mysql數據庫的過程中,經常會遇到中文輸入,但有時候輸入中文時會出現問號,這是因為mysql默認情況下不支持中文字符集,因此需要進行一些設置,才能夠正常輸入中文字符。
# 在mysql數據庫中創建一個新的數據庫 create database test; # 修改新創建的數據庫使用utf-8字符集 ALTER DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci; # 創建一個新的表,指定字符集為utf-8 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
以上代碼中,我們通過ALTER語句修改了數據庫test的字符集為utf-8,并通過CREATE TABLE語句創建了一個新的表student,并指定了該表的字符集為utf-8。在插入中文數據時,需要保證客戶端連接的字符集也為utf-8,這樣才能夠正確存儲和讀取中文字符。
如果你之前已經創建好了數據庫和表,那么可以使用以下兩條語句來修改字符集:
# 修改數據庫test的字符集為utf-8 ALTER DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci; # 修改表student的字符集為utf-8 ALTER TABLE student CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
總之,為了正確存儲和讀取中文字符,需要在創建數據庫和表的時候指定字符集為utf-8,并保證客戶端連接的字符集也為utf-8。