我必须用 Java 解析 SQL 语句。我正在尝试使用zql和gsp(通用 sql 解析器),但它们不支持韩语,从而触发词法异常。
示例语句:
select * from test where name = '한글왜안됨'
任何人都可以提出解决方案或替代解析器吗?
我必须用 Java 解析 SQL 语句。我正在尝试使用zql和gsp(通用 sql 解析器),但它们不支持韩语,从而触发词法异常。
示例语句:
select * from test where name = '한글왜안됨'
任何人都可以提出解决方案或替代解析器吗?
还有JSQLParser的语法部分。它是用 JavaCC 构建的,因此它应该可以处理所有字符集,或者可以很容易地对其进行修改。
最近在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 进行任何修改。