问题发现
最近在公司服务器上部署前端项目时出现了服务器中文乱码问题,导致前端样式无法加载,但是在服务器上创建中文文件或编辑中文文本又显示正常,查询了很多方案都没有解决,最后通过自己排查解决了,因此记录一下。
问题复现
下面通过两张图复现一下出现的问题:
这里我使用的是xftp7
上传文件,可以看到文件传输后在xftp7
软件上显示正常,但是在服务器上却乱码了。
问题解决
这里我先不说我的解决方案,先按照常规思路来排查一下问题。
查看是否安装中文软件包
执行以下命令查看是否安装了中文软件包
# locale -a |grep "zh_CN"
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
这里可以看到我已经安装了,如果没有安装请执行以下命令安装
# yum groupinstall "fonts" -y
查看当前系统语言环境
先查看系统语言环境配置文件
# cat /etc/locale.conf
LANG="zh_CN.UTF-8"
可以看到我这里当前已经是中文语言环境,如果你这里配置文件显示的是en_US
或者en_US.UTF-8
,请执行以下命令修改
# vim /etc/locale.conf
LANG="zh_CN.UTF-8"
# source /etc/locale.conf
然后再次查看当前系统语言
# echo $LANG
zh_CN.UTF-8
# locale
LANG=zh_CN.UTF-8
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=
查看文件传输工具配置
到这里已经可以排除是服务器问题了,然后想到了会不会是文件传输工具的问题,于是去Xftp7
上查找相关配置,果然找到了文件编码
选项,发现默认文件编码是GB2312
,将其修改为UTF-8
后就正常了。附上修改的配置和问题解决的图片
可以看到,现在已经显示正常了,问题成功解决。
注意:
1、修改完需要重新连接服务器才会生效
2、这里只是修改的单个会话连接,其他连接可以参照以上配置修改,也可在Xftp7上文件→默认会话属性→选项→编码中设置,切记,该配置仅在之后创建的会话连接中生效,之前的配置不会修改