在统信UOS操作系统上安装kingbaseES,利用图形化工具创建客户端连接时报错,提示:invalid value for parameter “client_encoding”:“ANSI_X3.4-1968”,
解决思路:
查看数据库字符集:
show client_encoding;
结果是:
SQL_ASCII
show server_encoding;
UTF8
怀疑是客户端字符集的问题,于是修改客户端字符集为UTF8,但重启和重新加载均不生效;
查看操作系统字符集:
locale:
来来回回改了几遍UTF8,zh_CN 和GBK 都不行,无法建立客户端连接,
最后求助操作系统工程师,
执行:
sudo locale-gen命令,生成locale 文件,创建数据库客户端连接成功,原因是当时装操作系统的工程师指定的字符集有问题,好吧~~
其实我们在执行locale 查看操作系统语言的时候就有报错,当时如果有注意到的话也能解决创建客户端连接报错的问题:
1.修改语言环境出现下面问题
执行locale的时候
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
另外当进入服务器的时候,还会出现
-bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
首先检查locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8
该问题就是zh_CN.UTF-8这个包没有安装
现在就是进行安装
sudo apt-get install locales
如果已经安装了,直接执行下一步
sudo locale-gen zh_CN.UTF-8