解决VSCODE中java开发,终端乱码(2023年3月)

2023-05-16

解决VSCODE中java开发,终端乱码

一、环境

  • 操作系统:windows10

  • powershell版本:PowerShell 7.3.3

  • VSCODE版本信息:

    版本: 1.76.2 (user setup)
    提交: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
    日期: 2023-03-14T17:55:54.936Z
    Electron: 19.1.11
    Chromium: 102.0.5005.196
    Node.js: 16.14.2
    V8: 10.2.154.26-electron.0
    OS: Windows_NT x64 10.0.19045
    沙盒化: Yes

二、错误表现

  1. springboot2.3.4 使用JDK1.8编译和运行的时候,终端出现中文乱码
    在这里插入图片描述

  2. springboot3.x 使用JDK11编译运行的时候中文正常显示,不会出现乱码。

  3. 为什么会因为JDK版本不同而出现不同的显示结果,原因不明。

三、解决方案

  1. 原因简单分析。
    出现这个现象的原因是因为编码方式的不同。(VScode的默认编码方式为UTF-8,输出到终端的字符都是UTF-8的,而中国地区下PowerShell的编码方式GBK)。如果VScode终端那里调用的是PowerShell,两者编码方式的不同的就导致了中文乱码的问题。所以我们解决乱码的方式,就是将两者的编码方式统一就行,要么将两者都统一为UTF-8,要么就统一为GBK。

  2. 临时解决,这里我们把powershell的字符集设置成UTF-8。在VSCODE打开的终端界面中输入下面的代码。

    $OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8
    

    上面这种方式只能生效一次,也就是每次重新打开终端都需要重新执行上面的代码。

  3. 使用powershell的配置文件永久解决。

    一、生成“Microsoft.PowerShell_profile.ps1”配置文件。

    1. 生成一个PowerShell的配置文件。

      • 以管理员身份运行PoweShell,运行New-Item $PROFILE -ItemType File -Force。
        在这里插入图片描述
      • 打开“我的文档”,在文件夹“PowerShell”或者“WindowsPowerShell”会生成一个名为“Microsoft.PowerShell_profile.ps1”的文件。该文件中暂时是空的。添加如下内容:
        OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
    2. 复制修改后的“Microsoft.PowerShell_profile.ps1”到合适的位置。

    二、在vscode中配置。

    • 打开文件(File)​ -> 首选项(Preferences)​ -> 设置(Settings)​。搜索“terminal.integrated.default profile”,修改windows下面的选项为“PowerShell”。
      在这里插入图片描述

    • 打开“setting.json”文件,修改其中的配置。添加如下配置项:

          "terminal.integrated.profiles.windows": {
              "PowerShell": {
                  "source": "PowerShell",
                  "icon": "terminal-powershell",
                  "args": [
                      "-noexit",
                      "-file",
                      "D:\\Program Files\\vscode\\powershell\\Microsoft.PowerShell_profile.ps1"
                   ]
              },
              "Command Prompt": {
                  "path": [
                      "${env:windir}\\Sysnative\\cmd.exe",
                      "${env:windir}\\System32\\cmd.exe"
                  ],
                  "args": [],
                  "icon": "terminal-cmd"
              },
              "Git Bash": {
                  "source": "Git Bash"
              }
          }
      

      在这里插入图片描述

四、解决后的效果

* ​[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nfo8Cgtb-1679585205875)(assets/image-20230323231614-an335un.png)]​

五、参考

  • https://www.ewbang.com/community/article/details/961545381.html

  • https://code.visualstudio.com/docs/terminal/profiles

在这里插入图片描述

六、坑-在我环境中无效的方法

VS Code解决终端中文乱码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决VSCODE中java开发,终端乱码(2023年3月) 的相关文章

随机推荐

  • iOS8 Core Image In Swift:更复杂的滤镜

    iOS8 Core Image In Swift xff1a 自动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift xff1a 更复杂的滤镜 iOS8 Core Image In Swift xff1a 人脸检测
  • 使用CocoaPods过程中的几个问题

    当把CocoaPods生成的workspace移动到上层目录时 xff0c 需要改下Pods xcconfig和工程里的一些设置 xff0c 就通常没什么难度 当遇到这个问题时 xff1a Could not automatically s
  • error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition

    在部署k8s容器过程中添加node节点提示 查询10250端口使用情况发现已经被使用netstat anpt grep 10250 说明之前有安装记录 xff0c 需要进行重新初始化操作 swapoff a 关闭swap空间 kubeadm
  • 我的2014-转行转行再转行,坚守互联网

    2014年的1月1号 xff0c 直到用餐的客人全部走完 xff0c 关完店回到家已经是凌晨了 xff0c 想想以前在北京的时候 xff0c 女友让我回家带点大葱 xff0c 我买成了韭菜 xff0c 后来居然开了一家餐饮店 xff0c 还
  • 仿网易云音乐的播放进度条

    仿网易云音乐的播放进度条 xff0c 有三种状态 xff1a 播放 暂停和拖动 xff0c 只是实现了动画和主要的交互逻辑 xff0c 其他细节 xff08 如暂停音乐的播放等 xff09 还需要自己完善 xff1a DKPlayerBar
  • 用 Houston 在本地调试远程通知

    Houston 的背景 Houston 在 GitHub 上的地址 xff1a https github com nomad Houston xff0c 作者又是Mattt Thompson xff0c 简直是惨无人道啊 xff0c 又高产
  • 如何设计一个 iOS 控件?(iOS 控件完全解析)

    代码的等级 xff1a 可编译 可运行 可测试 可读 可维护 可复用 前言 一个控件从外在特征来说 xff0c 主要是封装这几点 xff1a 交互方式显示样式数据使用 对外在特征的封装 xff0c 能让我们在多种环境下达到 PM 对产品的要
  • 用JFreeChart 生成报表

    JFreeChart是JAVA平台上的一个开放的图表绘制类库 它完全使用JAVA语言编写 xff0c 是为applications applets servlets 以及JSP等使用所设计 JFreeChart可生成饼图 xff08 pie
  • Mac原生字典支持的词典

    一共十八部词典 xff0c 见下 xff1a 打了一个包 xff0c 有700多M xff0c 在CSDN没有权限上传这么大的文件 xff0c 故上传到115上 放到 Library Dictionaries 目录中即可 下载地址
  • NSAttributedString 详解

    NSAttributedString可以让我们使一个字符串显示的多样化 xff0c 但是目前到iOS 5为止 xff0c 好像对它支持的不是很好 xff0c 因为显示起来不太方便 xff08 至少没有在OS X上方便 xff09 首先导入C
  • Windows 11(ISO) 官方镜像文件下载

    一 win11 ISO 下载 1 win11 ISO 镜像文件官方下载 https www microsoft com zh cn software download windows11 2 win11 ISO 镜像文件百度网盘下载 链接
  • Linux中对磁盘(硬盘)分区和挂载

    记录 xff1a 346 场景 xff1a 在CentOS 7 9操作系统上 xff0c 使用fdisk对磁盘分区 xff1b 使用mkfs xfs创建文件系统 xff1b 使用mount挂载磁盘到目录 xff1b 使用umount卸载目录
  • 一份超详细的MySQL高性能优化实战总结!

    一份超详细的MySQL高性能优化实战总结 xff01 MySQL 对于很多 Linux 从业者而言 xff0c 是一个非常棘手的问题 xff0c 多数情况都是因为对数据库出现问题的情况和处理思路不清晰 在进行 MySQL 的优化之前必须要了
  • Openssh-8.5p1版本tar包方式升级步骤

    以下是通过tar包方式介绍openssh 8 5p1版本升级步骤 步骤1 获取openssh 8 5p1版本tar包 下载地址 xff1a 链接 xff1a https pan baidu com s 1KMEuvqTAWIukN5 mWY
  • Git下载指定历史版本的代码(详细步骤)

    Git下载指定历史版本的代码 xff08 详细步骤 xff09 一 克隆拉取指定版本代码 第1步 xff1a 在本地某个空文件夹下右键 Git Bash Here 打开Git窗口 克隆项目到本地 在空白的地方点击右键 xff0c 在右键中选
  • DBeaver备份postgresql问题

    DBeaver备份postgresql问题 报错 Native client home 39 PostgreSQL Binaries 39 not found 报错 Native client home PostgreSQL Binarie
  • springboot单元测试junit启用回滚测试数据报错

    报错信息 Failed to retrieve PlatformTransactionManager java lang IllegalStateException Failed to retrieve PlatformTransactio
  • springboot 大文件上传 java.lang.OutOfMemoryError

    错误代码 span class token annotation punctuation 64 PostMapping span span class token punctuation span span class token stri
  • 2021-09-14

    eclipse maven run 错误 xff1a Fatal error compiling 无效的标记 release maven compiler plugin 3 8 1 中使用release便签eclipse 使用 Run gt
  • 解决VSCODE中java开发,终端乱码(2023年3月)

    解决VSCODE中java开发 xff0c 终端乱码 一 环境 操作系统 xff1a windows10 powershell版本 xff1a PowerShell 7 3 3 VSCODE版本信息 xff1a 版本 1 76 2 user