在Windows环境下使用SSH Secure Shell Client登陆VMware Workstation中Linux系统查询hive表时,中文显示乱码;数字和url显示为NULL,网上说:
1、中文显示乱码这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码
2、Windows使用的GB2312编码,大多数Linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码。
3、数字和url显示为NULL是建数据库表时,指定的row format delimited fields terminated by ‘xxx’与导入的数据的行或列分隔格式不一致。
遂百度了几种方法去改善中文乱码问题,其一是修改/etc/sysconfig/i18n文件。
本人在root目录下修改/etc/sysconfig/i18n文件,执行 “# vi /etc/sysconfig/i18n”,原内容如下:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
保存改动并重启Linux系统使配置生效。
问题随之而来,在输入系统登陆密码后,系统提示下图:
在之后出现系统桌面无法正常显示(桌面图标均不显示),右键无响应,以及VMware Workstation软件闪退等问题。
解决办法:
在VMware Workstation中中Linux系统下无法操作了,但仍可通过SSH Secure Shell Client登陆Linux之前用户系统,此时可通过Shell命令将/etc/sysconfig/i18n文件修改回原来配置,并删除“i18n~”文件(为了和修改前目录下文件一致,或许该操作不影响结果)。
修改保存后再次重启Linux,进入系统桌面仍无图标。
此时需要提前在输入登陆系统密码界面内,桌面底部系统语言选择English(United States),再输入密码登陆后可正常显示桌面。