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