Bootstrap

KingbaseES乱码或无效字符编码问题

问题现象:

1:为什么界面有时会显示中文乱码?

2:终端查询报错“invalid byte sequence for encoding “utf8”: 0xd0 ”

3:应用报错“com.kingbase8.util.KSQLException: 错误: 无效的 "GBK" 编码字节顺序: 0xe8”

解决方案:

client_encoding与server_encoding 之间不一致,在存储或读取数据时,会自动进行转换,不会有乱码问题。

对于问题1、2,主要是显示问题,比如客户端的字符集client_encoding与工具的字符集(如SecureCRT)不一致。这种情况影响的只是显示,而不影响数据存储。

对于问题3,可以在驱动层配置连接参数bytestype=bytea,或者在插入数据时强制类型转换。

几种字符编码查看:

1、查看操作系统的编码env | grep LANG

2、查看数据库编码show server_encoding,一般与环境变量LANG相同。

3、查看客户端编码show client_encoding

;