找回密码
 立即注册
首页 业界区 安全 [vscode] 解决windows使用vscode连接linux的gbk_gb18030 ...

[vscode] 解决windows使用vscode连接linux的gbk_gb18030终端出现乱码问题

郦珠雨 5 天前
本地windows11,使用vscode远程连接Centos7.9
远端Linux因为别的原因必须保持终端是GB18030(gbk的父集),但是vscode的终端没办法切换成gb18030。这就会导致vscode这边的终端中文都会乱码。
我的解决方案是使用luit luit – Locale and ISO 2022 support for Unicode terminals
安装

通过yum安装的luit使用会崩溃,所以需要编译安装
下载后执行下面的命令在远端Linux编译安装
  1. ./configure
  2. # 如果要指定安装位置,则指定 --prefix= 参数即可
  3. make -j8
  4. make install
复制代码
之后应该可以使用luit命令了
使用

在vscode的远程linux终端中,执行luit -encoding gb18030 ssh user@127.0.0.1
就会原地再套一个终端,但是这时候luit会把原先的输出转码为utf8,所以此时vscode不会乱码了
自动化

接着,在.bashrc中追加如下代码
  1. # 你可以在 已打开的终端列表项 鼠标悬停窗口中加载的脚本(shellintegration-bash.sh)中找到这个变量
  2. if [[ -n "${VSCODE_SHELL_INTEGRATION:-}" ]]; then
  3.         luit -encoding GB18030 ssh user@127.0.0.1
  4. fi
复制代码
这样vscode打开终端时会进入到luit中,但其他软件打开终端不受影响
为了免密码登录,还需要将.ssh中的公钥添加到authorized_keys中,这样就能实现无感知进入luit了

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册