出现乱码问题的几种可能情况:操作系统乱码问题、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驱动包:
jdbc:gbase://localhost:5258/test?user=root&password=1234 &characterEncoding=UTF-8
4、Telnet、SSH乱码问题
远程连接工具的字符集设置,例如XShell:
Porperties(Alt+P)->Terminal->Encoding->UTF-8