在使用MYSQL的ER圖進(jìn)行數(shù)據(jù)建模時(shí),我們經(jīng)常會(huì)遇到中文無法正常顯示的問題。雖然這個(gè)問題看似簡單,但如果不了解其原因和解決方法,會(huì)給開發(fā)工作造成不必要的麻煩。
造成中文無法正常顯示的原因,是因?yàn)镸YSQL默認(rèn)字符集為latin1,而一般情況下,中文字符用的是UTF-8編碼。為了解決這個(gè)問題,我們需要改變MYSQL的默認(rèn)字符集。
# 查看MySQL默認(rèn)字符集 SHOW VARIABLES LIKE 'character%'; # 修改MySQL默認(rèn)字符集 SET character_set_client = utf8mb4; SET character_set_connection = utf8mb4; SET character_set_results = utf8mb4;
修改MySQL的默認(rèn)字符集后,我們需要在ER圖工具中,選擇UTF-8編碼格式,接著輸入中文,此時(shí)中文文字就可以正常顯示了。
此外,如果我們需要對(duì)已經(jīng)存在的MYSQL數(shù)據(jù)庫進(jìn)行中文字符集的修改,可以按照下面的步驟進(jìn)行:
# 查看數(shù)據(jù)庫字符集 SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = '數(shù)據(jù)庫名'; # 修改數(shù)據(jù)庫字符集 ALTER DATABASE 數(shù)據(jù)庫名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 修改表格字符集 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
總之,為了避免出現(xiàn)中文無法正常顯示的問題,我們需要注意MYSQL的默認(rèn)字符集并根據(jù)需要進(jìn)行調(diào)整,同時(shí)在ER圖工具中選擇正確的編碼格式。