You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "cui (Jira)" <ji...@apache.org> on 2019/09/16 13:42:00 UTC

[jira] [Created] (CALCITE-3351) calcite mysql utf8中文查询报错

cui created CALCITE-3351:
----------------------------

             Summary: calcite mysql utf8中文查询报错
                 Key: CALCITE-3351
                 URL: https://issues.apache.org/jira/browse/CALCITE-3351
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.19.0
         Environment: 无论是windows还是mac,都会出同样的错误
            Reporter: cui


发现连接mysql进行中文查询时候,执行这条sql:

select * from \"test\".\"score_new\" where \"name\"= \'催\' limit 1报错

,后来修改了RelDataTypeFactoryImpl的

getDefaultCharset方法为

return Charset.forName("UTF8");

还是报错,报错如下:

java.sql.SQLException: Error while executing SQL "select * from "test"."score_new" where "name"= '催' limit 1": While executing SQL [SELECT *java.sql.SQLException: Error while executing SQL "select * from "test"."score_new" where "name"= '催' limit 1": While executing SQL [SELECT *FROM `score_new`WHERE `name` = u&'\50ac'LIMIT 1] on JDBC sub-schema at org.apache.calcite.avatica.Helper.createException(Helper.java:56) at org.apache.calcite.avatica.Helper.createException(Helper.java:41) at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:163) at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:227) at QueryMysql.main(QueryMysql.java:42)Caused by: java.lang.RuntimeException: While executing SQL [SELECT *FROM `score_new`WHERE `name` = u&'\50ac'



--
This message was sent by Atlassian Jira
(v8.3.2#803003)