[ https://issues.apache.org/jira/browse/CALCITE-7078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986886#comment-17986886 ]
xiong duan commented on CALCITE-7078: ------------------------------------- As describe in CALCITE-1903: {code:java} to_base64(_UTF16'测试') {code} works. > Character literal can not support Chinese > ----------------------------------------- > > Key: CALCITE-7078 > URL: https://issues.apache.org/jira/browse/CALCITE-7078 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.40.0 > Reporter: Yu Xu > Priority: Major > Fix For: 1.41.0 > > > Currently we call function in quidem test can not use Chinese, reproduce as: > in function.iq, we execute: > {code:java} > SELECT to_base64('方解石'); {code} > would error out(other all varchar argument function would error): > {code:java} > > Caused by: org.apache.calcite.runtime.CalciteException: Failed to encode > > '方解石' in character set 'ISO-8859-1' > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > > at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > > at > > org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:511) > > at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:605) > > at org.apache.calcite.util.NlsString.<init>(NlsString.java:155) > > at org.apache.calcite.util.NlsString.<init>(NlsString.java:123) > > at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1321) > > at > > org.apache.calcite.rex.RexBuilder.makeCharLiteral(RexBuilder.java:1609) > > at > > org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertLiteral(SqlNodeToRexConverterImpl.java:110) > > at > > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:5906) > > at > > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:5084) > > at org.apache.calcite.sql.SqlLiteral.accept(SqlLiteral.java:596) > > at > > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:5735) > > at > > org.apache.calcite.sql2rel.StandardConvertletTable.convertOperands(StandardConver > > (stack truncated) {code} > > but in other datasystem such as MySQL is OK: > {code:java} > mysql> select to_base64('方解石'); > +------------------------+ > | to_base64('方解石') | > +------------------------+ > | 5pa56Kej55+z | > +------------------------+ > 1 row in set (0.01 sec) > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)