Mysql控制台報錯:Data truncation: Incorrect string value[ERROR 1366]解決方式


使用navicat直接插入數據,出現ERROR 1366。
出現的原因:在編寫數據庫表的時候,沒有指定字符集,默認字符集為latin1,此時通過插入語句插入中文會報錯。
解決方式:
直接運行以下的代碼,將database和server的字符集改成utf8:

show variables like '%char%';
set character_set_server=utf8;
set character_set_database=utf8;

依然沒有解決問題的話,查看表的具體字段的字符集,可以通過查看創建語句查看:

show create table 表名;

也可以用以下代碼去查看每個字段的全部信息:

show full columns from 表名;

檢查數據庫此字段的字符集與整理字符集是否與SQL語句傳遞數據的字符集相同;不相同則會引發MySQL1366錯誤。

如果字段的character是latin1的話,將其改為utf8即可。
具體代碼如下:

alter table 表名 modify `字段名` varchar(255) CHARACTER set utf8 collate utf8_general_ci not null default '';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM