2012-09-07 80 views
2

我必須用Java解析SQL語句。我試圖使用zqlgsp (general sql parser),但他們不支持韓語,引發詞彙異常。是否有支持韓語的Java SQL解析器?

實例聲明:

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

任何人都可以提出一個解決方案或替代解析器?

+0

我猜「韓語」有點狹隘。解析器可能通常需要支持非ASCII ***編碼***。 – deceze

+0

確保javac編譯器編碼與編輯器編碼相同。在國際環境中,UTF-8將是一個不錯的選擇。至少GSP應該能夠處理UTF-8。 –

回答

0

還有JSQLParser的語法部分。它使用JavaCC構建,因此它應該可以處理所有的字符集,或者可以非常容易地進行修改。

0

最近,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進行任何修改。

相關問題