MySQL的預設編碼是Latin1,不支援中文,是以會出現亂碼
後來我把my.ini中的Latin1改為utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
結果出現Data truncation: Data too long for column 'XXXXX' at row 1
然後我就試着修改varchar的大小
alter table XXX modify XXXXX varchar(30);
這樣就可以放15個字了,已經搓搓有餘了
依然還是Data truncation: Data too long for column 'XXXXX' at row 1
然後網上尋找解決方案,至少我試過的都不行,還有些太複雜就懶得試了
我就想是不是資料庫在建立的時候已經是MySQL的預設編碼Latin1,那就幹脆更改編碼後重建立表吧
我先用的是gbk,可以正常的插入中文
我想utf8也可以吧,就把預設編碼改為utf8,也可以正常插入
輸入status可以看到資料的編碼,資料庫是gbk,其他的是utf8,如圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5iNzMjY0UTY2czMjhDMwYjYyUWZ0UDOkFjNwQTMzYGN50COyYTMxEjMx8CXxAzMxAjMvwlMygzNxMzLcd2bsJ2Lc12bj5ycn9Gbi52YuAzcldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)
轉載于:https://www.cnblogs.com/liangyan19910818/archive/2013/01/12/2857424.html