情景:最近在做一个处理大文本,导入到 SQL 的一个小工具。但是出于其他同事电脑,没有 JDK,所以只能画个 Swing 打包成带 jdk 的 exe 文件给他们用.
- 之前用 IDEA 打包为 Jar 用命令行运行 没有此问题( java 项目)
- 在 Netbean 直接运行没有此问题 (swing 项目)
然而打包好 jar 运行就有问题。(swing 项目)
环境:JDK1.8,MYSQL5.7,WIN10,Netbean8.2
问题代码:

报错截图:

报错:java.sql.BatchUpdateException: Invalid utf8 character string: '\xB4\xF3\xBB\xB0\xB5\xA5\xC8\xAB\xCA\xA1201807'
乱码文字应该为:大话单 201807 (tableName)
经过以下尝试,都无效,不知道怎么办了。所以求助,解决了也方便后人查阅(我自己也会整理)
- jdbc characterEncoding 换过 utf8mb4,gbk 依旧报错
- 换数据库编码为 gbk 依旧报错
- 更改项目编码为 gbk 依旧报错
- 反编译打包后的 jar 中的文件也没有乱码现象 ...(排除编译器原因)