問題
我前端form-data上傳圖文到后臺時,返回一個服務(wù)器內(nèi)部異常SQLException: Incorrect string value: '\xE5\x92\x8CH' for column 'task_detail' at row 1其障。這是經(jīng)過我log分段輸出看到(log一次最多輸出4k長度)银室。
疑問
因為看到前端是utf8格式,數(shù)據(jù)庫插入的時候格式變化了励翼。\xE5\x92\x8CH這是不是utf8格式蜈敢。
排查
我再查看mysql數(shù)據(jù)庫表是格式是latin1_swedish_ci,我就改為對應(yīng)的utf8_general_ci汽抚,再次測試上傳圖文抓狭,這時候還是報同樣的異常。我就發(fā)現(xiàn)task_detail在字段的編碼格式還是latin1-default造烁,
解決
我就把task_detail字段編碼改為和table相同的格式utf8_general_ci 否过。最后測試成功上傳寫入數(shù)據(jù)庫。
總結(jié)
以后新建table惭蟋,表數(shù)據(jù)的時候要統(tǒng)一utf8_general_ci編碼格式苗桂。