`
luhannaeyext
  • 浏览: 4241 次
文章分类
社区版块
存档分类
最新评论

分享:解决 jsqlparser不支持中文的问题

 
阅读更多
解决 jsqlparser不支持中文的问题

今天下载了 jsqlparser,打算用在简表中,不曾想不持中文,运行以下代码,出现如下错误:
复制内容到剪贴板
代码:
public static void main(String[] args) {
                try {
                        Statement stat = new CCJSqlParserManager().parse(new StringReader("select  年份,月份,sum(金额)  from 订单查询 group by 年份,月份  order by 年份,月份"));
                        System.out.println();
                       
                } catch (JSQLParserException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
               
        }
Caused by:
net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 9.  Encountered: "\u5e74" (24180), after : ""
        at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1328)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5244)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_140(CCJSqlParser.java:4531)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_107(CCJSqlParser.java:4568)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_65(CCJSqlParser.java:4045)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_35(CCJSqlParser.java:4145)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_5(CCJSqlParser.java:4591)
        at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_5(CCJSqlParser.java:3059)
        at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:562)
        at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:554)
        at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:110)
        at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
        at jatools.designer.data.DatasetPreviewer.main(DatasetPreviewer.java:231)

网上查了一圈,不得要领,后来查看JSqlParserCC.jj文件,发现id只支持以a-z,A-Z字符开始的串,为此,加上相应的unicode字符即可以了,以下粗体部分是加上去的部分,这样重新javacc一下,就可以了
如下所示


TOKEN:
{
        < S_IDENTIFIER: ( <LETTER> )+ ( <DIGIT> | <LETTER> |<SPECIAL_CHARS>)* >
|         < #LETTER:
       ["a"-"z",
       "A"-"Z",
       "\u0024",
       "\u0041"-"\u005a",
       "\u005f",
       "\u0061"-"\u007a",
       "\u00c0"-"\u00d6",
       "\u00d8"-"\u00f6",
       "\u00f8"-"\u00ff",
       "\u0100"-"\u1fff",
       "\u3040"-"\u318f",
       "\u3300"-"\u337f",
       "\u3400"-"\u3d2d",
       "\u4e00"-"\u9fff",
       "\uf900"-"\ufaff"] >
编辑 引用 使用道具 评分 回复 删除 屏蔽帖子 TOP
IP admin

管理员

发短消息加为好友当前离线
2#大中小 发表于 2010-12-9 17:02 只看该作者
这个是经过楼上方法,处理过的 jsqlparser-0.6.2。欢迎下载!

http://bbs.jatools.com/attachment.php?aid=348&k=6587ec5e3d3f29c8644aa37370a19f04&t=1373962914
分享到:
评论

相关推荐

    jsqlparser0.7解决中文问题

    解决jsqlparser中文问题,修改JSqlParserCC.jj使用jcc重新编译,打包。

    jsqlparser-4.2-API文档-中文版.zip

    标签:github、jsqlparser、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsqlparser-2.0-API文档-中文版.zip

    标签:github、jsqlparser、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsqlparser-4.3-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-4.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:4.3; 标签:github、jsqlparser、jar包、java、中英对照文档; 使用方法:解压...

    jsqlparser-4.0-API文档-中文版.zip

    标签:github、jsqlparser、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsqlparser-4.3-API文档-中文版.zip

    标签:github、jsqlparser、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    JSqlParser-jsqlparser-0.9.5.zip

    JSqlParser支持多种SQL语法,包括但不限于: 1. SELECT语句:可以解析字段选择、表名、联接、子查询等。 2. INSERT语句:解析插入的数据列和值。 3. UPDATE语句:解析更新的列和值,以及更新的条件。 4. DELETE语句...

    jsqlparser-1.0-API文档-中文版.zip

    标签:github、jsqlparser、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsqlparser-1.4-API文档-中文版.zip

    标签:github、jsqlparser、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    jsqlparser-0.9.5-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-0.9.5-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:com.github.jsqlparser,artifactId:jsqlparser,version:0.9.5 使用方法:解压翻译后的API文档,...

    jsqlparser-1.4-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-1.4-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:1.4; 标签:github、jsqlparser、中英对照文档、jar包、java; 使用方法:解压...

    jsqlparser-4.0-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-4.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:4.0; 标签:github、jsqlparser、中英对照文档、jar包、java; 使用方法:解压...

    jsqlparser-0.9.5-API文档-中文版.zip

    包含翻译后的API文档:jsqlparser-0.9.5-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:com.github.jsqlparser,artifactId:jsqlparser,version:0.9.5 使用方法:解压翻译后的API文档,用浏览器...

    jsqlparser-4.2-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-4.2-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:4.2; 标签:github、jsqlparser、jar包、java、中英对照文档; 使用方法:解压...

    jsqlparser-0.9.4.jar

    一个SQL解析引擎JSQLParser,可以将SQL变成Java对象系列,可以通过一个sql,查询到one 2 one, one 2 many, 甚至 one 2 one 2 many 2 one的查询

    jsqlparser-0.7.0支持中文

    一个不错的SQL解析工具,修改支持jdk1.5,支持中文

    jsqlparser-1.0-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-1.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:1.0; 标签:github、jsqlparser、中英对照文档、jar包、java; 使用方法:解压...

    jsqlparser-2.0-API文档-中英对照版.zip

    包含翻译后的API文档:jsqlparser-2.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.jsqlparser:jsqlparser:2.0; 标签:github、jsqlparser、jar包、java、API文档、中英对照版; 使用方法...

    JSqlParser:JSqlParser解析一条SQL语句并将其转换为Java类的层次结构。 可以使用“访问者模式”浏览生成的层次结构

    的JSqlParser 在此处查找更多信息和示例: : 。 执照 JSqlParser具有LGPL V2.1或Apache软件许可2.0版的双重许可。 讨论 请提供有关以下方面的反馈: API更改:使用返回值扩展访问者( ) 消息 发布了JSqlParser的...

    JSqlparser4.4版作者提供的应急版,解决无法解析mysql中JSON_OBJECT函数存在其它函数问题

    如下sql,JSON_OBJECT函数中存在CAST函数,随后报出ParseException问题! SELECT JSON_ARRAYAGG(obj) FROM (SELECT trt.relevance_id,JSON_OBJECT('id',CAST(trt.id AS CHAR),'taskName',trt.task_name,'openStatus'...

Global site tag (gtag.js) - Google Analytics