GBase相关的乱码问题以及解决办法

出现乱码问题的几种可能情况:操作系统乱码问题、GBase数据库乱码问题、应用系统乱码问题、Telnet、SSH工具乱码问题。一般情况将以上内容的字符集一致,则彻底解决乱码问题。
出现乱码的解决办法:

1、操作系统乱码问题
在Linux 操作系统里遇到中文乱码问题,执行以下命令设置字符集。

$ export LANG='zh_CN.UTF-8' --重启后失效

其他相关命令

$ locale -a   --查看本地的字符集
/etc/sysconfig/i18n --记录系统默认使用语言
或者设置 Linux 系统的环境变量/etc/profile (全局) 或者 ~/.bashrc (单个用户) 即可

2、GBase数据库乱码问题
修改字符集的语法

SET [SESSION] parameter_name=value;

使用vi 命令编辑gbase_8a_gbase8a.cnf 文件,插入配置参数:

default-character-set=value

查看数据库字符集:

gbase> show variables like '%char%';
+--------------------------+-------------------------------------------------+
| Variable_name            | Value                                             |
+--------------------------+-------------------------------------------------+
| character_set_client     | utf8                                              |
| character_set_connection | utf8                                            |
| character_set_database   | utf8                                            |
| character_set_filesystem | binary                                          |
| character_set_results    | utf8                                             |
| character_set_server     | utf8                                             |
| character_set_system     | utf8                                            |
| character_sets_dir       | /home/liming/GBase/server/share/gbase/charsets/ |
+--------------------------+-------------------------------------------------+
8 rows in set (Elapsed: 00:00:00.00)
3、应用系统乱码问题
系统联调中,应用开发与数据库交互发生的乱码问题,一般情况由于代码中未指定字符集,造成控制台的信息或前端页面出现乱码。尝试指定驱动包的URL。
例如,JDBC驱动包:

jdbc:gbase://localhost:5258/test?user=root&password=1234 &characterEncoding=UTF-8

4、Telnet、SSH乱码问题
远程连接工具的字符集设置,例如XShell:

Porperties(Alt+P)->Terminal->Encoding->UTF-8