输出乱码问题几乎是所有的程序员都会遇到的问题,总是让我们头痛不已。这里我们简单讲讲原因,并对最常见的乱码问题给出解决方案。

参考资料:

将powershell的编码默认改为UTF-8_中路厨师长的博客-CSDN博客_powershell utf-8

Windows10如何将命令提示符替换为PowerShell-百度经验

powershell、cmd终端修改编码 - xututu6 - 博客园

原因

出现乱码一定是因为解析文件的时候采用了错误的编码格式。对于不同的情况,具体的解析器不同,所以解决方法也不同,但是万变不离其宗,只要让解析器采用了正确的解析方式 / 输入的文件采用正确的编码格式,问题就会迎刃而解。

其中最常见的,就是在控制台中输出的时候出现的乱码问题。这是因为中文的win默认的控制台是GB2312,而我们常用的编码格式是utf8。

我开始以为是换语言就可以了,结果系统换成英文的也没有效果。后来我突然想起来,在官网下载镜像的时候有选择语言这一项,如下图所示。我也试过网上改注册表,改地区等等方法,一个都不好用,甚至会导致一些更麻烦的问题。

解决方案

既然我们的问题的根源是控制台的编码有问题,那我们就把控制台的编码换成utf8就行了。

题主这里默认的控制台使用的是PowerShell,不确定cmd是否具有同样的功能。

修改默认控制台为PowerShell的方法

win11

先打开控制台(cmd/powershell均可) -> 点击右边下拉箭头 -> 选择设置 -> 默认配置改为PowerShell

win10

控制台 -> 任务栏和导航 -> 打开“当我右键单机“开始”按钮或按下windows键。。。”

修改powershell的编码

  1. 管理员身份打开powershell,输入以下代码。

    New-Item $PROFILE  -ItemType File -Force
  2. 找到以下路径的文件,打开。默认是空的,输入下面内容,保存。
    $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding 
  3. 管理员身份打开PowerShell,输入以下代码。

    Set-ExecutionPolicy Unrestricted
  4. 输入chcp,查看代码是否为65001(utf8)

注意

如果使用idea,clion,webstore, vscode等,不要忘记修改IDE的文件编码格式。

j家全家桶(idea,clion,webstore等)修改方式:

setting -> files -> file encodings 修改下图中三处地方

在主页面的右下方也查看当前文件采用的编码格式,如果没有显示,请在设置中打开。

补充

chcp使用的编码以及其对应的语言

编码页 国家(地区)或语言
437 美国
708 阿拉伯文(ASMO 708)
720 阿拉伯文(DOS)
850 多语言(拉丁文 I)
852 中欧(DOS) - 斯拉夫语(拉丁文 II)
855 西里尔文(俄语)
857 土耳其语
860 葡萄牙语
861 冰岛语
862 希伯来文(DOS)
863 加拿大 - 法语
865 日耳曼语
866 俄语 - 西里尔文(DOS)
869 现代希腊语
874 泰文(Windows)
932 日文(Shift-JIS)
936 中国 - 简体中文(GB2312)
949 韩文
950 繁体中文(Big5)
1200 Unicode
1201 Unicode (Big-Endian)
1250 中欧(Windows)
1251 西里尔文(Windows)
1252 西欧(Windows)
1253 希腊文(Windows)
1254 土耳其文(Windows)
1255 希伯来文(Windows)
1256 阿拉伯文(Windows)
1257 波罗的海文(Windows)
1258 越南文(Windows)
20866 西里尔文(KOI8-R)
21866 西里尔文(KOI8-U)
28592 中欧(ISO)
28593 拉丁文 3 (ISO)
28594 波罗的海文(ISO)
28595 西里尔文(ISO)
28596 阿拉伯文(ISO)
28597 希腊文(ISO)
28598 希伯来文(ISO-Visual)
38598 希伯来文(ISO-Logical)
50000 用户定义的
50001 自动选择
50220 日文(JIS)
50221 日文(JIS-允许一个字节的片假名)
50222 日文(JIS-允许一个字节的片假名 - SO/SI)
50225 韩文(ISO)
50932 日文(自动选择)
50949 韩文(自动选择)
51932 日文(EUC)
51949 韩文(EUC)
52936 简体中文(HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)

输出乱码疑难杂症总结及解决方案相关推荐

  1. 【错误记录】Android Studio 编译信息输出乱码

    文章目录 一.报错信息 二.解决方案 一.报错信息 编译过程中 , 输出乱码信息 ; 二.解决方案 选择 " 菜单栏 / Help / Edit Custom VM Options &quo ...

  2. IDEA控制台输出乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> IDEA控制台输出乱码解决方案: intellij安装目录下bin\idea.exe.vmoptions文件 追加一句: -D ...

  3. idea Springboot项目sout控制台中文输出乱码解决方案

    idea Springboot项目sout控制台中文输出乱码解决方案 出现问题的环境 解决步骤 出现问题的环境 今天遇到了使用 IDEA 2020.3.3版本,创建了Maven->quickSt ...

  4. php源码 乱码 通达oa_php中文乱码问题的终极解决方案汇总

    前言 本文主要给大家介绍了关于php中文乱码问题的终极解决方案,分享出来供大家参考学习,在开始之前,我们先来谈谈为什么会出现中文乱码? 很多新手朋友学习PHP的时候,发现程序中的中文在输出的时候会出现 ...

  5. Python — 文字输出乱码

    1. Python中列表或字典输出乱码的解决方法 问题: Python中的列表(list)或字典包含中文字符串,直接使用print会出现以下的结果: #打印字典 dict = {'name': '张三 ...

  6. [转载]关于中文乱码问题的一些解决方案和经验

    关于中文乱码问题的一些解决方案和经验 1.字节和unicode java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的.因此java要对这些字节流经 ...

  7. python输出到文件乱码_解决python解析文件时输出乱码

    首先获取到json模块,encoding指定文件编码utf-8,errors报错时忽略错误,print()输出结果看看是否有问题. # -*- coding: utf-8 -*- import jso ...

  8. 小猫爪:这些年遇过的Bug2-STM32 UART输出乱码

    小猫爪:这些年遇过的Bug2-STM32 UART输出乱码 1 背景 2 场景描述 3 分析原因 4 解决方案 1 背景 芯片型号:STM32F103C8T6 应用类型:普通UART应用 错误现象:配 ...

  9. Eclipse乱码问题最全解决方案

    Windows>>Pereferences>>General>Editors>>Spelling>>Encoding选项下选择other,然后输入 ...

  10. idea sout输出乱码的问题

    idea sout输出乱码的问题 : 在tomcat的启动窗口打印的启动信息中包含了大量的中文乱码,虽然这些对tomcat本身的使用没有任何影响,但却非常碍眼,影响视觉效果! tomcat启动时启动窗 ...

最新文章

  1. Java非阻塞I/O模型之NIO说明
  2. 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
  3. 5-简单选择排序C实现(递增递减的简单转换)
  4. 蓝桥杯单片机篇:NE555 频率测量
  5. mysql增删查改总结_MySQL2 数据增删改查 SQL总结
  6. Sublime2 配置python 和 c++
  7. ajax上传文件formData
  8. CarSim仿真快速入门(十四)—CarSim-Simulink联合仿真
  9. t470键盘拆解_ThinkPad T470拆机图赏:堪称商务本的业界标杆
  10. SVN下载安装、SVN使用详细教程(Window+Linux)
  11. ssr提示服务器名无效_联想服务器在UEFI HII界面中配置阵列的基本操作
  12. 怎么用html制作3D页面,html – 如何使用CSS制作图像3D
  13. IIS发布网站 后台接口404
  14. 第一章 .NET体系结构
  15. 如何通过低代码平台搭建以“督办”为中心的办公管理系统
  16. ROS编译C++文件过程出现 error: expected unqualified-id before ‘.’ token
  17. 2023年北京邮电大学计算机考研信息汇总
  18. 4 Day:MBR使用硬盘
  19. 基于深度学习下的稳定学习究竟是什么?因果学习?迁移学习?之一
  20. 微信第三方平台 错误码

热门文章

  1. 华为浏览器如何进入阅读模式_华为浏览器阅读模式 | 手游网游页游攻略大全
  2. 天龙八部手游服务器维护公告,天龙维护时间(天龙八部手游11月29日例行维护公告)...
  3. otdr全部曲线图带解说_【赛事主播】你最期望哪个电竞选手组合来解说比赛?...
  4. 2018秋季学习总结
  5. 华为荣耀5cvs华为v9play_荣耀V9Play和荣耀畅玩6A全面对比评测 看完这篇再判断
  6. 王道数据结构3.2.5——1、循环队列中设置tag区分头指针front和队尾指针rear相等时队列的状态是空还是满
  7. Data requirement
  8. Policy Gradient (PG)与Proximal Policy Optimization (PPO)算法详解
  9. C++/EasyX面向对象编程实现-简单双人对战五子棋
  10. 常见出血性疾病的实验诊断题库【1】