问题
我前端form-data上传图文到后台时,返回一个服务器内部异常SQLException: Incorrect string value: '\xE5\x92\x8CH' for column 'task_detail' at row 1。这是经过我log分段输出看到(log一次最多输出4k长度)。
疑问
因为看到前端是utf8格式,数据库插入的时候格式变化了。\xE5\x92\x8CH这是不是utf8格式。
排查
我再查看mysql数据库表是格式是latin1_swedish_ci,我就改为对应的utf8_general_ci,再次测试上传图文,这时候还是报同样的异常。我就发现task_detail在字段的编码格式还是latin1-default,
解决
我就把task_detail字段编码改为和table相同的格式utf8_general_ci 。最后测试成功上传写入数据库。
总结
以后新建table,表数据的时候要统一utf8_general_ci编码格式。