使用 Ant SQLExec 执行sql文件中文乱码

项目中需要执行 Sql脚本,采用ant来实现,代码如下:

SQLExec sqlExec = new SQLExec();
sqlExec.setDriver(jDriver);
String url;
url = connectDB;
sqlExec.setUrl(url);
sqlExec.setUserid(username);
sqlExec.setPassword(password);
//sqlExec.getProject().set
sqlExec.setSrc(new File(strFullFile));
//sqlExec.set
sqlExec.setOnerror((SQLExec.OnError) (EnumeratedAttribute
.getInstance(SQLExec.OnError.class, "abort")));
sqlExec.setPrint(true);
sqlExec.setProject(new Project());
sqlExec.execute();
log.info("数据库文件" + strFullFile + "更新完成。");

但是,在执行中却遇到问题:sql语句中包含中文时,写入到数据库后中文乱码了。查了api,sqlexec类有一方法  sqlExec.setEncoding("UTF8"); (项目中数据库编码都是使用utf8).问题依然。最后发现是sql文件的问题。sql文件本身保存的时候选择的就是默认的编码ansi。将文件另存为utf-8 编码的文件,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值