李树超 2013-08-09 16:16 采纳率: 100%
浏览 543
已采纳

java 读取 Excel 数据库中文乱码

[code="java"][/code]

  try
  {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, "", "");
   Statement smt = dbConn.createStatement();
   ResultSet set = smt.executeQuery("select * from [sheet1$]");
  int i =0;
   while (set.next())
   {
    System.out.print(i + "\t") ; 
    String str1 = set.getString(1);
    String str2 = set.getString(2);
    String str3 = set.getString(3);
    if (str1 != null){
         System.out.print(new String(str1.getBytes("ISO-8859-1") ,"gbk") + "\t") ; 
    }

    if (str2 != null){
         System.out.print(new String(str2.getBytes("ISO-8859-1") ,"utf-8") + "\t") ; 
    }

    if (str3 != null){
         System.out.println(new String(str3.getBytes("ISO-8859-1") ,"gb2312") + "\t") ; 
    }

    i ++;
   }
  } catch (ClassNotFoundException e)
  {
   e.printStackTrace();
  } catch (SQLException e)
  {
   e.printStackTrace();
  } finally
  {

[img]http://dl2.iteye.com/upload/attachment/0088/0295/95b4bfef-bd6a-38bd-a108-734d678d064e.gif[/img]

中文乱码,求解药 [code="java"][flash=200,200][img][/img][/flash][/code]

  • 写回答

4条回答 默认 最新

  • xblueskyleng 2013-08-09 18:20
    关注

    new String(set.getBytes(1),"gbk")
    这样呢,用byte取出来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料