發一下牢騷和主題無關:
Incorrect string value: '\xF0\xA1\xBF\xA8\xE9\x82...' for column 'last_name'
這個問題出在mysql上,mysql如果設置編碼集為utf8那么它最多默許只能支撐到3個字節的UTF-8編碼,
而4個字節的UTF-8字符還是存在的,這樣一來如果你建表的時候用的utf8字符集出異常就理所當然了。
之前遇到過兩次
短信備份的時候,用戶短信內容里面的一些特別字符編碼會是四位,從ios導入的聯系人,lastname里面也可能會有此類字符。
解決方法很簡單,修改字段或者表的字符集為utf8mb4。
alter table fnbl_pim_contact_1 modify column `last_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL;
但需要注意的是,字符集utf8mb4在mysql 5.5.3以后才能支撐。。。。。。