在使用MySQL建立中文表時,有時候會遇到一些奇怪的問題。當我們使用Navicat或終端連接到數據庫并查詢數據時,會發現中文字符會顯示成問號。這是因為MySQL默認使用的字符集是Latin1,而中文字符無法被完全編碼成Latin1字符。
為了解決這個問題,我們需要將MySQL的字符集設置為支持中文字符的字符集。這可以通過以下步驟來實現:
1. 打開my.cnf文件(或my.ini文件),找到[mysqld]部分。 2. 在[mysqld]部分添加以下行: collation_server=utf8_unicode_ci character_set_server=utf8 3. 重啟MySQL服務。
完成以上步驟后,我們需要重新創建我們的表,并確保我們的表使用的字符集與上述步驟中設置的字符集相同。這可以通過在創建表時指定字符集來實現:
CREATE TABLE mytable ( id INT, name VARCHAR(255) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
在上面的例子中,我們使用了utf8字符集和utf8_unicode_ci排序規則。這將確保我們的表能夠正確地存儲和查詢中文字符,并正確地顯示在Navicat和終端中。
在遇到MySQL中文字符集問題時,以上步驟應該能夠幫助你解決問題。如果仍有問題,請考慮使用更高級的字符集,如UTF-8。
上一篇MySQL延遲數據