MySQL出現1366錯誤是由于字符集不匹配引起的,通常情況下,我們需要對MySQL進行設置或者數據導入時進行字符集轉換。下面為大家提供一些改變字符集的方法:
# 方法一: # 查看數據庫的字符集 show variables like '%character%'; # 修改數據庫的默認字符集 set character_set_database=utf8; # 修改MySQL的會話字符集 set character_set_client=utf8; set character_set_results=utf8; # 方法二: # 導入數據時轉換字符集 mysql -h host -u user -p --default-character-set=latin1 dbname< dump.sql # 導出數據時轉換字符集 mysqldump -h host -u user -p --default-character-set=latin1 dbname >dump.sql
最后,在已經存在的數據庫中,修改表字段的字符集時,需要依次進行以下操作:
# 獲取表的默認字符集 show create table table_name; # 修改表的默認字符集 alter table table_name default character set utf8; # 獲取表中的字段字符集信息 show full columns from table_name; # 修改表中的字段的字符集 alter table table_name modify column column_name varchar(255) character set utf8;
通過上述設置,應該可以成功解決MySQL出現1366錯誤的問題了。