mysql中文問題絕大多數(shù)由編碼問題引起,大多數(shù)同學都是修改mysql自身配置完成修改。下面整理幾種情況
一:客戶端連接不能輸入中文
二:數(shù)據庫整體不能插入中文
三:數(shù)據庫某張表不能插入中文
解決辦法:
通用型臨時應急解決辦法
set nams utf8 ;? 或? show variables like ‘%char%’;? 將編碼不同的修改為utf8;
一:客戶端連接不能輸入中文
核對字符集設置,查看當前系統(tǒng)/連接軟件是否支持對應編碼。
(1)linux/dockers下終端直接連接
???????? echo $LANG? 或 locale? 查看當前編碼集
???????? 若字符集不支持中文,需修改為系統(tǒng)支持的字符集,utf8系列都支持中文編碼
???????? export LANG=en_US.UTF-8? 設置系統(tǒng)字符集
(2)連接工具不能輸入中文,查看下如xshell類連接工具的 設置->編碼 是否是utf8
(3)連接相關配置出錯。
???????? show variables like ‘%char%’; 查看 character_set_connection 參數(shù)是否為設置的utf8
???????? 或打開my.cnf/my.ini查看mysql配置文件
二:數(shù)據庫整體不能插入中文
修改數(shù)據庫編碼即可 set nams utf8 ;
show variables like ‘%char%’;
三:部分表不能插入中文
打開表結構,查看當前字段的字符集,曾經出現(xiàn)過數(shù)據庫所有通用型設置都是utf8,但是某個字段的字符集設置被修改了,查了一天。