用Navicat建表的字段编码问题

最近在做Amazon的订单导入的时候,一直报字符编码的错误。

java.sql.SQLException: Incorrect stringvalue: 'xB7xADxA0...' for column 

在调试的时候发现是折扣码字段的问题

    temp[28] = "满�??�??�??�?� 2017/10/21 15-26-17-181"

我以为是�字符的问题,把这些字符删除之后还是有问题
然后我看了看建表语句,果然坑在这里

`PROMOTION_IDS` varchar(255) CHARACTER SET latin1 DEFAULT NULL

用navicat建表的时候只能选择表的字符集,字段默认的字符集竟然不是utf8
只能默默的把所有字段设为utf8就没问题了

ALTER TABLE aor CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

引以为戒,不能图方便啊!

原文地址:https://www.cnblogs.com/16crow/p/7872572.html