您的位置:首页 > 数据库

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

2011-08-10 14:03 197 查看
项目中需要执行 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 编码的文件,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐