开发者社区 问答 正文

为什么云服务器 ECS Linux 通过 Xshell 或 Putty 连接后中文显示乱码



问题描述





云服务器 ECS Linux 通过 Xshell 或 Putty 连接后中文显示乱码。

问题原因





该问题通常是由于 SSH 客户端软件和 Linux 服务器内字符配置不一致所致。

处理办法





1. 打开 Putty 主程序,选 择 Window > Appearance > Font settings > Change,然后选择 Fixedsys 字体,字符集选择 CHINESE_GB2312。
2. 在 Window > Appearance >Translation > Receviced data assumed to be in which character set中,把 Use font encoding 改为UTF-8。

3. 如果上述方法无效,console 终端还是乱码,可以修改下服务器内的字符配置,方法如下:
  • 在 /etc/profile 文件最后一行添加以下内容:
    1. export LC_ALL=”zh_CN.GB18030”
  • 如果是 X-window 终端乱码,则在 /etc/sysconfig/i8n 文件的最后一行添加以下内容:
    1. export LC_ALL=”zh_CN.GB18030”

如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-23 14:18:46 2208 分享 版权
阿里云 AI 助理回答

您的描述已经很详细了,这里我再补充一些可能的解决方案和步骤,希望能帮助您彻底解决中文显示乱码的问题。

使用Xshell连接时的设置调整

  1. 字符集设置
    • 打开Xshell,选择您建立的会话,右键点击“属性”。
    • 转到“终端”->“外观”,在“字符编码”下拉菜单中选择“简体中文 GB2312”或“UTF-8”。
    • 确认更改后,重新连接服务器查看是否解决乱码问题。

修改服务器端字符集配置

如果客户端设置无误仍然出现乱码,可以尝试修改服务器端的字符集配置。您已提到了一种方法,这里提供一个更通用的步骤:

  1. 编辑配置文件

    • 使用您现有的SSH工具(如Putty、Xshell等),登录到ECS实例。
    • 执行命令 sudo vi /etc/locale.conf 或者编辑 /etc/environment 文件(取决于您的Linux发行版)。
    • 在文件末尾添加或修改以下行(如果存在则修改,否则添加):
      LANG="zh_CN.UTF-8"
      LC_ALL="zh_CN.UTF-8"
      
    • 保存并退出编辑器(如果是vi/vim,按Esc,输入:wq回车)。
    • 使更改生效,执行命令 source /etc/locale.confsource /etc/environment
  2. 重启服务

    • 对于某些系统,可能需要重启ssh服务或者整个系统以应用新的语言环境设置。可以使用命令 sudo systemctl restart sshd 重启SSH服务,或者根据实际情况决定是否需要重启系统。

额外提示

  • 如果是通过网页终端访问ECS,确保浏览器的编码设置也是正确的,通常选择自动检测或UTF-8即可。
  • 检查应用程序(如bash或其他终端模拟器)的配置文件,确保它们也指向正确的字符集。

如果以上步骤都尝试过,但问题依旧,请检查是否有特定的应用程序或服务导致的乱码问题,并针对性地调整其配置。此外,阿里云社区和官方文档是获取帮助的好去处,那里有丰富的技术资源和经验分享。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答