linuxsteam
V2EX  ›  问与答

为什么 用 Netbean 打包为可执行 jar 运行 SQL 语句就会乱码?

  •  
  •   linuxsteam · Aug 6, 2018 · 1145 views
    This topic created in 2837 days ago, the information mentioned may be changed or developed.

    最近在做一个处理大文本,导入到 SQL 的一个小工具。但是出于其他人员电脑,没有 JDK,所以只能画个 Swing 打包成带 jdk 的 exe 文件给他们用,可惜没到打包 exe 的地方,我就出问题了。 特来求助,有没有类似的情况。

    • 之前用 IDEA 打包为 Jar 没有问题、(不是 swing 界面的,idea 的 swing 个人用不明白)
    • 在 Netbean 画好的 swing 直接 run 运行没有问题,
    • 然而打包好运行就有问题。

    出错代码为 sql2:

    微信截图_20180806084036.png

    swing 报错: java.sql.BatchUpdateException: Invalid utf8 character string: '\xB4\xF3\xBB\xB0\xB5\xA5\xC8\xAB\xCA\xA1201807'

    乱码文字应该为 大话单 201807,即变量 tableName

    微信截图_20180806084711.png

    经过以下尝试,都无效,不知道怎么办了。所以求助,解决了也方便后人查阅(我自己也会整理)

    • 换 utf8mb4,gbk 无效
    • 换数据库编码为 gbk 无效
    • 更改项目编码为 gbk 无效
    • 反编译打包后的 jar 中的文件也没有乱码现象 ...

    最重要的是!! sql1 不乱码(即不出现四字节情况\xB4 ),可以正常建表.批量导入就出问题。

    环境:JDK1.8,MYSQL5.7,WIN10

    4 replies    2018-08-06 09:37:23 +08:00
    zn
        1
    zn  
       Aug 6, 2018
    看了几遍,多出地方有歧义,建议重新整理一下文字重新问。
    linuxsteam
        2
    linuxsteam  
    OP
       Aug 6, 2018
    @zn 已经重新整理
    linuxsteam
        3
    linuxsteam  
    OP
       Aug 6, 2018
    t/477144
    linuxsteam
        4
    linuxsteam  
    OP
       Aug 6, 2018
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3571 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 10:41 · PVG 18:41 · LAX 03:41 · JFK 06:41
    ♥ Do have faith in what you're doing.