3

我必须用 Java 解析 SQL 语句。我正在尝试使用zqlgsp(通用 sql 解析器),但它们不支持韩语,从而触发词法异常。

示例语句:

select * from test where name = '한글왜안됨'

任何人都可以提出解决方案或替代解析器吗?

4

2 回答 2

0

还有JSQLParser的语法部分。它是用 JavaCC 构建的,因此它应该可以处理所有字符集,或者可以很容易地对其进行修改。

于 2012-09-13T06:44:10.303 回答
0

最近在https://github.com/JSQLParser/JSqlParser的 JSqlParser 的分支切换到 UTF-8 解析。已经有专门的德语字母部分。您可以像这样为标识符添加韩语。引用的字符串应该已经为您工作,无需任何更改。

String sql ="select * from test where name = '한글왜안됨'";
Select select = (Select) CCJSqlParserUtil.parse(sql);
System.out.println(select.toString());

这段代码通过了我的测试,没有使用 JSqlParser V0.8.8 进行任何修改。

于 2014-02-08T13:41:29.110 回答