Org.Apache.calcite.runtime.CalciteException:无法在字符集"ISO-8859-1"中编码“全国" [英] Org.Apache.calcite.runtime.CalciteException: Failed to encode '全国' in character set 'ISO-8859-1'
问题描述
select
t1.city_name
from
(
select
'全国' as city_name
from
stg.t_vip
union all
select
cc.city_name
from
stg.t_city_config cc
join
stg.t_vip v
on
v.city_id = cc.city_id
) t1
full join
(
select
'全国' as city_name
from
stg.t_vip_trade
) t2
on
t1.city_name = t2.city_name;
select
t1.city_name
from
(
select
'全国' as city_name
from
stg.t_vip
union all
select
cc.city_name
from
stg.t_city_config cc
) t1
full join
(
select
'全国' as city_name
from
stg.t_vip_trade
) t2
on
t1.city_name = t2.city_name;
为什么第二个SQL可以正常执行,而第一个SQL则发布错误:
Why the second SQL is OK while the first one post an error:
Failed to encode '全国' in character set 'ISO-8859-1'
推荐答案
可以添加以下代码:
System.setProperty("saffron.default.charset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME);System.setProperty("saffron.default.nationalcharset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME);System.setProperty("saffron.default.collation.name",ConversionUtil.NATIVE_UTF16_CHARSET_NAME +"$ en_US");
System.setProperty("saffron.default.charset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME); System.setProperty("saffron.default.nationalcharset",ConversionUtil.NATIVE_UTF16_CHARSET_NAME); System.setProperty("saffron.default.collation.name",ConversionUtil.NATIVE_UTF16_CHARSET_NAME + "$en_US");
这篇关于Org.Apache.calcite.runtime.CalciteException:无法在字符集"ISO-8859-1"中编码“全国"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!