1、操作系统字符集设置
centos6和7的字符集文件位置不同
1 | CentOS6.x 字符集配置文件在/etc/syscconfig/i18n |
以centos7为例,修改字符集
cat /etc/locale.conf
1 | LANG="zh_CN.UTF-8" |
修改为GBK字符集
cat /etc/locale.conf
1 | LANG="zh_CN.GBK" |
2、系统字符集为utf-8,securecrt工具的字符集为gb2312,oracle字符集为ZHS16GBK
如果使用securtcrt工具,设置该工具字符集为gb2312(小于gbk字符集)
进入操作系统如果操作系统有中文字符,会出现乱码的情况
分别查看以utf8编码的文件和ansi编码的文件
以gb2312字符集连接进来的securecrt工具,查看ansi编码的文件正常,查看utf8编码的文件乱码。
使用securecrt工具查看数据库中存在中文的数据:
3、系统字符集为utf-8,securecrt工具的字符集为urf-8,oracle字符集为ZH16GBK
进入操作系统如果操作系统有中文字符,显示正常:
分别查看以utf8编码的文件和ansi编码的文件
以utf-8字符集连接进来的securecrt工具,查看ansi编码的文件乱码,查看utf8编码的文件正常。
使用securecrt工具查看数据库中存在中文的数据:
查看带有中文的数据全部显示乱码
4、结论:
使用ssh工具连接到服务器是要注意连接工具的字符集,如果只在系统级别操作,要注意保持工具字符集和操作系统字符集的一致性。如果要查询数据库里面带有中文的相关数据,要注意保持工具字符集和操作系统字符集的一致性,否则查询结果会出现乱码。