问题
可以查询全部输出数据库中的数据,也可以查询输出单个的英文数据,但无法显示单独的中文查询结果。效果如图:
解决过程
网上大部分都是在uri最后加上characterEncoding=UTF-8,比如:
String uri = "jdbc:mysql://localhost:3306/"+dataBase+"?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8";
然而不管是改时区还是加characterEncoding=UTF-8,对我而言都不适用。但一定是编码问题,就是不明确是哪部分编码有问题。
于是开始试图自己去解决这个问题,查看控制台,显示的是java.sql.SQLException: Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation '=' 很明确就是编码的问题,照着此异常搜索,看到一篇文章内容如下: