更改vscode的bash终端编码为gb2312

如图,在安装Remote-ssh后,vscode的bash终端只支持UTF-8,但是公司Linux服务器上的代码文件都是gb2312编码,编译时的中文报错信息全是乱码,有啥方法或插件修改vscode的bash终端为gb2312编码吗?

img

或者有啥办法先将gb2312的编码先转码成UTF-8,再输出到vscode终端上?

打开 VS Code,进入终端页面。

在终端页面中,单击左下角的选项按钮,选择“默认终端设置”。

在“默认终端设置”页面中,找到“终端.integrated.shellArgs.linux”选项。

在该选项中输入以下命令:

["--init-file", "${env:HOME}/.bashrc", "--rcfile", "${env:HOME}/.bashrc", "-l", "-c", "export LC_ALL=zh_CN.GB2312"]

保存并关闭“默认终端设置”页面。

重新启动 VS Code,打开终端页面,现在终端编码应该已经被设置为 gb2312。

请注意,这种更改只会影响 VS Code 中的 Bash 终端。如果您使用其他终端程序,可能需要单独更改其编码设置。

https://www.baidu.com/link?url=2zNZj6lXV2vCOCBG_3q9NPDe8U5QV6NNUaVZsb5sPv-em2FhLZK72ZlKKAuOwCjn2WTCf3ySTAXKxHHNoXnnypmL7PeGmVgbkCJZ7KtekEK&wd=&eqid=e3a3393e00006dab0000000263f465ee

参考GPT和自己的思路,可以尝试在vscode的设置中设置终端的编码格式为GB2312。具体操作如下:

1 在vscode中打开设置界面。可以通过快捷键 Ctrl+, 或者在菜单中选择 文件(File) -> 首选项(Preferences) -> 设置(Settings)。

2 在搜索框中搜索 terminal.integrated.shellArgs.linux,然后点击 编辑(Add item)。

3 在输入框中输入以下命令,将终端的编码格式设置为GB2312:

[  "--init-file",   "<(echo 'export LANG=zh_CN.gb2312')"]

4 保存设置后,关闭vscode并重新打开。
如果以上方法无法解决问题,可以尝试先将代码文件转码成UTF-8编码格式,再在vscode中打开。可以使用一些转码工具,如iconv等。具体操作可参考以下步骤:

安装iconv,例如在Ubuntu系统上可以使用以下命令安装:

sudo apt-get install -y iconv

使用iconv将gb2312格式的代码文件转码成UTF-8格式。例如,将文件 test.c 转码成UTF-8格式:

iconv -f gb2312 -t utf-8 test.c -o test-utf8.c

在vscode中打开转码后的UTF-8格式的代码文件,可以正常编译和查看中文报错信息。
需要注意的是,如果代码文件中含有中文注释或者字符串等,转码后可能会出现乱码,需要手动进行修改。
如果对您有帮助,请给与采纳,谢谢。

以下答案基于ChatGPT与GISer Liu编写:

可以尝试以下两种方法解决这个问题:

1.更改 VS Code 的默认终端编码

可以通过在 VS Code 的设置中更改默认终端编码来解决这个问题。具体步骤如下:

  • 打开 VS Code
  • 点击左下角的设置按钮(齿轮图标),选择“设置”(或按 Ctrl + , 快捷键打开设置)
  • 在搜索框中输入“terminal encoding”,找到“Terminal › Integrated: Encoding”设置
  • 将该设置的值更改为“gb2312”
  • 重新打开终端,应该可以正常显示中文了

2.将 gb2312 编码的文件转换成 UTF-8 编码

如果第一种方法无法解决问题,可以尝试将 gb2312 编码的文件转换成 UTF-8 编码,然后再在 VS Code 中打开。具体步骤如下:

  • 在 Linux 终端中进入要转换编码的文件所在目录
  • 执行以下命令将 gb2312 编码的文件转换成 UTF-8 编码:

iconv -f gb2312 -t utf-8 input_file > output_file

其中,“input_file”为要转换的文件名,“output_file”为转换后的文件名

  • 在 VS Code 中打开转换后的文件,应该可以正常显示中文了

希望这些方法可以帮助您解决问题!


1、临时解决
VSCode终端输入命令:chcp 65001
2、配置永久解决
VSCode中通过打开“文件”--“首选项”--“设置”, 然后在setting.json中设置

{
    "editor.fontSize": 18,
    "terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
    "terminal.integrated.fontFamily": "Lucida Console",
}

该回答引用ChatGPT
要更改vscode的bash终端编码为gb2312,您需要执行以下步骤:

  1. 打开vscode,点击“文件”菜单,选择“首选项”;
  2. 在“首选项”菜单中,点击“设置”;
  3. 在“设置”菜单中,搜索“terminal.integrated.shell.windows”;
  4. 在“terminal.integrated.shell.windows”设置中,输入“chcp 65001”;
  5. 保存设置,重新打开vscode,即可更改bash终端编码为gb2312。

人工回答

远端 bash 上不能显示为中文?这很奇怪,可以参考上面的 vscode 设置方案尝试设置下

然后无论对于 linux 上的 c/c++ 工程方案还是跨平台,源码优选 utf8,如果你们有很严重的理由不能切换到utf8当我没说

可以在文件打开后手动将文件编码设置为GB2312。在VSCode中,你可以通过点击右下角的“UTF-8”标签来修改文件编码,在弹出的菜单中选择“GB2312”即可

您好,关于您提出的linux上文件编码的问题:
首先,linux上是可以设置utf8编码的,通过echo $LANG命令可以查看当前系统字符集。如果您以后要处理的文件比较多的,建议修改linux系统的字符集默认为utf8,一劳永逸,设置方式如下:

echo "export LANG=zh_CN.UTF-8""  >> /etc/proflile  
source /etc/profile

其次,如果不好修改linux系统的默认字符集,那么你就需要手动将gb2312的编码转为utf8:

echo "set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936" >> /etc/vimrc
或
$ iconv -f gb2312 -t utf-8 in_filename -o out_filename