MYSQL JAVA Netbeans和JXL的特殊字符

MYSQL JAVA Netbeans和JXL的特殊字符,java,mysql,netbeans,utf-8,mysql-workbench,Java,Mysql,Netbeans,Utf 8,Mysql Workbench,我的MYSQL数据库中的特殊字符如í、ó、ñ等有问题 我读了很多关于字符集、排序规则、utf和son的书,但我可能无法将其正确地应用于这个问题。我不确定问题是出在我的表上,还是在读取源文件和编码时。我正在开发一个生成特定报告的接口 在这里,我简要地解释了问题发生的过程 有一个表,其中包含请求的Excel文件的路径文件 我的代码采用该路径,使用JXL库打开文件 然后,它开始读取代码中指示的每个单元格,并将数据导出到指示的表中(这是在表中显示的位置)� (每个特殊字符) 数据被正确地导出到多个表中,

我的MYSQL数据库中的特殊字符如í、ó、ñ等有问题

我读了很多关于字符集、排序规则、utf和son的书,但我可能无法将其正确地应用于这个问题。我不确定问题是出在我的表上,还是在读取源文件和编码时。我正在开发一个生成特定报告的接口

在这里,我简要地解释了问题发生的过程

  • 有一个表,其中包含请求的Excel文件的路径文件
  • 我的代码采用该路径,使用JXL库打开文件
  • 然后,它开始读取代码中指示的每个单元格,并将数据导出到指示的表中(这是在表中显示的位置)� (每个特殊字符)
  • 数据被正确地导出到多个表中,这没有问题,只有用这个替换的特殊字符� 所以,在研究之后,我尝试了这个

    • 在使用MYSQL workbench时,我已经将排序规则中的每个表从utf8-default更改为utf8-utf8\u西班牙语\u ci和utf8-utf8\u西班牙语\u ci
    • 我还尝试将排序规则更改为utf16-默认排序规则、utf_西班牙语_ci、bin等
    • 此外,我还尝试使用utf32排序规则
    • netbeans编码已正确设置为utf-8
    • 我尝试过探索连接到MYSQL的JAVA函数,我正在使用这种连接,但我没有发现任何关于编码的内容:

      private Connection conecta=null;
      String Driver="com.mysql.jdbc.Driver";
      String Url="jdbc:mysql://XXX.XXX.XXX.XX/BLAABLA";
      Class.forName(Driver);
      conecta=DriverManager.getConnection(Url,User,Password);
      
    • 数据库当我手动插入包含特殊字符的数据时,它会在需要时正确显示,但当我尝试使用前面描述的自动插入选项(使用jxl库等读取文件)时,它会发生错误� 事情

    • 我在stackoverflow中找到了一些有用的答案,但都与php、html、xml等特定情况有关。关于java的所有答案都与utf8排序规则有关

    所以我希望你能给我一些帮助

    我没有正确地进行排序吗?我应该直接在控制台中尝试一些奇怪的东西吗?mysql workbench是否禁止某些内容

    我对所有的建议都很开放,但是如果答案是“你必须使用另一个库,因为JXL不起作用”,请考虑我的项目差不多完成了,用一个不同的库重新做这件事可能会让我花费更多的时间。拜托,如果JXL是个问题,可能还有别的问题。没有什么是不可能的,对吗


    谢谢您的时间。

    默认情况下,Excel文件使用windows-1255(Cp1255)编码。因此,当您从excel文件中读取这些字节时,需要使用该字符集处理它们,然后使用utf8存储它们。

    默认情况下,excel文件使用windows-1255(Cp1255)编码。因此,当您从excel文件中读取这些字节时,需要使用该字符集处理它们,然后使用utf8存储它们。

    谢谢。很难理解这件事,但谢天谢地jxl确实支持编码,我是通过CP1252获得它的,就像我在这个答案上找到的一个例子一样。读了你的答案后,我知道在网上找什么了。谢谢。也许你的Excel默认为希伯来语。谢谢。很难理解这件事,但谢天谢地jxl确实支持编码,我是通过CP1252获得它的,就像我在这个答案上找到的一个例子一样。读了你的答案后,我知道在网上找什么了。谢谢。也许你的Excel默认为希伯来语。