我必須用Java解析SQL語句。我試圖使用zql和gsp (general sql parser),但他們不支持韓語,引發詞彙異常。是否有支持韓語的Java SQL解析器?
實例聲明:
select * from test where name = '한글왜안됨'
任何人都可以提出一個解決方案或替代解析器?
我必須用Java解析SQL語句。我試圖使用zql和gsp (general sql parser),但他們不支持韓語,引發詞彙異常。是否有支持韓語的Java SQL解析器?
實例聲明:
select * from test where name = '한글왜안됨'
任何人都可以提出一個解決方案或替代解析器?
還有JSQLParser的語法部分。它使用JavaCC構建,因此它應該可以處理所有的字符集,或者可以非常容易地進行修改。
最近,JSqlParser的分支https://github.com/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進行任何修改。
我猜「韓語」有點狹隘。解析器可能通常需要支持非ASCII ***編碼***。 – deceze
確保javac編譯器編碼與編輯器編碼相同。在國際環境中,UTF-8將是一個不錯的選擇。至少GSP應該能夠處理UTF-8。 –