MySQL數據庫默認采用的是Latin1編碼,對于國內用戶來說,往往需要將其修改為UTF-8編碼,以支持中文等非拉丁字符的存儲和查詢。下面介紹一下如何進行修改。
首先需要連接到MySQL數據庫,可以使用命令行或者可視化工具,進入到mysql shell。為了方便起見,這里假設數據庫的用戶名和密碼分別為root和password。
mysql -u root -p
進入數據庫后,可以先查看當前默認編碼的設置:
SHOW VARIABLES LIKE 'character_set%';
可以看到,在character_set_database、character_set_client以及character_set_results三個參數中,都設置為了latin1。需要將這些參數都修改為utf8,以支持全局性的中文存儲和查詢。
SET character_set_database=utf8; SET character_set_client=utf8; SET character_set_results=utf8;
修改完畢后,可以再次使用SHOW VARIABLES指令來確認修改是否生效。如果生效了,上述三個參數中的值都應該為utf8。
需要注意的是,如果這些編碼的選項沒有有效地設置為utf8,那么將會影響到MySQL的存儲和查詢速度,還可能導致亂碼等問題。
在建立新的數據庫時,可以直接設置數據庫的編碼類型:
CREATE DATABASE my_database CHARACTER SET utf8 COLLATE utf8_general_ci;
這會在創建數據庫的同時,將其默認編碼設置為UTF-8。