You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程Redhat 7服务器安装IntelliJ Idea遇Xming字符编码乱码求助

我之前在远程Linux服务器上用X11转发跑GUI程序时也遇到过字符乱码的坑,给你整理几个实测有效的解决步骤:

1. 先搞定本地Xming的编码配置
  • 打开Xming的XLaunch向导,走到「Extra parameters」那一步,添加参数 -encoding utf-8 或者 -locale en_US.UTF-8,确保Xming用UTF-8处理显示内容。
  • 启动Xming后,打开Windows的命令行(cmd/PowerShell),执行 set 命令检查环境变量:确认LANG、LC_ALL是不是设为en_US.UTF-8。如果没有,手动设置:
    set LANG=en_US.UTF-8
    
    设置完再重新连接远程服务器。
2. 配置远程Redhat 7的Locale环境
  • 登录服务器后,先执行 locale 命令,看看当前的LANG、LC_CTYPE、LC_ALL是不是都是UTF-8编码的locale(比如en_US.UTF-8)。
  • 如果不是,先安装对应的locale包:
    sudo yum install glibc-langpack-en
    
  • 临时生效的话,执行这两条命令:
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    
  • 要永久生效的话,编辑~/.bashrc或者/etc/profile文件,把上面两行export命令加进去,然后执行 source ~/.bashrc 让配置立刻生效。
  • 最后用 locale -a 确认en_US.UTF-8已经存在。
3. 给IntelliJ Idea指定编码参数启动
  • 启动idea.sh的时候直接加JVM参数:
    ./idea.sh -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
    
  • 嫌每次输麻烦的话,修改IntelliJ安装目录下的bin/idea.vmoptions文件,添加两行:
    -Dfile.encoding=UTF-8
    -Dsun.jnu.encoding=UTF-8
    
    保存后重启idea,以后启动就自动用这个编码配置了。
4. 检查SSH的X11转发编码传递
  • 如果你用Putty/Xshell这类SSH客户端,要确保X11转发功能开启,并且配置了locale传递:
    • Putty:在「Connection -> Data -> Environment variables」里添加LANG=en_US.UTF-8;
    • Xshell:在会话属性的「环境变量」里添加同样的配置。
  • 另外,远程服务器的/etc/ssh/sshd_config文件里,要确保AcceptEnv LANG LC_*这一行没有被注释掉,这样客户端的locale设置才能传到服务器。修改后重启sshd服务:
    sudo systemctl restart sshd
    

内容的提问来源于stack exchange,提问作者Károly Módos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:11:32