Visual Studio 2017 UTF-8 无 BOM 一站式解决办法
问题背景:最近捡起C++,使用VS 2017平台。因为以前的编程习惯,喜欢使用UTF-8 无 BOM 的编码格式,好让自己的代码全球通用。但是VS 2017 对这个问题不是很友善。但最终找到了解决办法。
问题标签:
UTF-8 无 BOM 乱码;UTF-8 无 BOM "常量中有换行符"错误提示;window cmd UTF-8 无 BOM 显示乱码;
UTF-8 without BOM garbled; UTF-8 without BOM "Line breaks in constants" error message; window cmd UTF-8 without BOM shows garbled characters;
问题解决:
一:解决自己源码的编码格式
方法A(推荐):工具->扩展和更新->联机->搜索 forceutf8 选择No BOM 的那一个。 在你保存文件的时候,这个插件会将文件自动保存为UFT8 无 BOM。
    
    
方案B:文件-> 另存为 ->编码保存 选择 UFT-8 无签名
    
    
方案C:高级保存选项(默认是隐藏的,可以调出来。方法自行百度或googl...),界面如下
    
二:设定编译器 在编译 链接 时的编码格式,如果不设置,使用char数组保存字符时,会出现不可理解的错误提示 “常量中有换行符”或等等等问题
(1)在你的解决方案创建完成并打开之后 选定此方案。然后 项目->属性->(最好选择所有配置 所有平台)配置属性->常规->字符集->使用多字节字符集
注意:我自己使用中这个配置感觉并没有效果,但是为了保险起见,还是选择上吧。下面一个步骤比较重要。
    
    
(2)在你创建C++的源文件后,才会出现C/C++配置栏。选定解决方案,参考上一步 项目->属性->C/C++->命令行->输入/utf-8并确定。
这一步的解释,可以参考官方文档(推荐使用英文阅读):https://docs.microsoft.com/zh-cn/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=vs-2017
    
三:设置window控制台(又名CMD或命令行窗口)为UTF-8格式,解决显示界面的编码问题
在自己的源代码 加入 system("chcp 65001");如下:
#include <iostream>
#include <string> using namespace std;
int main()
{
system("chcp 65001");
char x[] = "的";
int i = x[];
int j = x[];
int k = x[];
cout << x << endl;
cout << hex << i << endl;
cout << hex << j << endl;
cout << hex << k << endl; string str_out_1 = "你的名字?";
string str_out_2 = "whats your name";
cout << str_out_1 << endl << str_out_2 << endl;
system("pause");
}
结果:
    
错误的结果(没有写入上面的代码时):
    
至此完结。欢迎各位前辈指正。
另请求打赏:支付宝:
    
Visual Studio 2017 UTF-8 无 BOM 一站式解决办法的更多相关文章
- Visual Studio无法查找或打开 PDB 文件解决办法
		Visual Studio无法查找或打开 PDB 文件解决办法 用VS调试程序时,有时会在VS底部的“输出”框中提示“无法查找或打开 PDB 文件”.这该怎么解决呢? 下面,我们以VS2013为例,来 ... 
- Visual Studio 2010 更新NuGet Package Manager出错解决办法
		在Visual Studio 2010的扩展管理器中发现NuGet Package Manger有最新版本更新提示,选择更新安装提示以下错误信息: 2013/4/25 1:11:48 - Micros ... 
- Visual Studio 2013 无法启动 IIS Express 的解决办法
		关于 ASP.NET Web 开发服务器.本地 IIS和 IIS Express 的区别,请参见<VS2013无法启动IIS Express Web的解决办法>,此文章最后提到的部分,即是 ... 
- Visual studio 2010 打开高版本VS工程解决办法
		第一步.找到工程项目文件: 第二步.编辑项目文件 找到Format Version 12.00 ,将数字改为11.00 再找到#Visual Studio 14 将数字改为2010 点击保存并关闭 第 ... 
- Microsoft visual studio 2015已停止工作最全解决办法
		1.重装系统,不到万不得已不要选择...麻烦. 2.使用管理员权限运行VS,部分可能有效. 3.卸载重新安装vs,如果是一些配置问题或许能解决,还有要是卸载的干净可能有效. 4.据说可能是插件有问题造 ... 
- Visual Studio Xamarin编译Android项目出错的解决办法
		安装完Xamarin后,编译Android项目时,你会发现好长时间进度都不动,当你取消编译后,会发现其实是出错了,就是因在Android项目在第一次编译时要去google网站上下一个andorid s ... 
- “Microsoft Visual Studio遇到了问题,需要关闭”解决办法
		运行VS2008,打开项目,弹出错误界面 . 解决办法:将项目中的所有设计窗体关闭并保存,重新打开就OK~ 
- visual studio 2010 "创建控件时出错"解决办法[转]
		之前我有在博问里面提问(http://space.cnblogs.com/q/16208/),但一直都没答案.我系统都重装了两次了,可还是出现这样的错误,我很郁闷啊.今天我终于找到原因了. 我写了一个 ... 
- visual studio 2017无建模项目?
		教一跨行同事学C#,我想从基础的讲一下,也就是最基本的面象对象分析与设计(OOAD),我直接打开我最新安装的 visual studio 2017.准备建一个“建模项目”.结果发现死活找不到?打开一个 ... 
随机推荐
- 浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点
			浅谈JAVA GUI中,AWT与Swing的区别.联系及优缺点 A.区别 1.发布的时间 AWT是在JDK 1.0版本时提出的 Swing是在AWT之后提出的(JAVA 2) 2. ”重量” AWT是 ... 
- virtualenv模块安装
			依赖包管理模块(virtualenv) virtualenv是Python的虚拟环境,可以在同一台PC隔离不同的python开发环境.virtualenv可以创建一个隔离的python环境(沙盒).使 ... 
- python进阶01 面向对象、类、实例、属性封装、实例方法
			python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ... 
- python之is 和 == 的区别//编码和解码
			一.is 和 == 的区别: 1 .id() 内存地址 2. == 比较 #比较两边的值 3. is 比较 #比较的是内存地址 数字,字符串,有小数据池 #数字小 ... 
- 一篇文章彻底了解Java垃圾收集(GC)机制
			垃圾收集(Garbage Collection ,GC),是一个长久以来就被思考的问题,当考虑GC的时候,我们必须思考3件事情: 哪些内存需要回收? 什么时候回收? 如何回收? 那么在Java中,我们 ... 
- Windows3
			windows安装后的配置 没有网络适配器, 将USB中的驱动精灵的安装程序安装在win上, 启动精灵, 提示无法连接到网络, 使用Android类型的手机中的QQ浏览器扫码下载 win会有一些开机自 ... 
- jquery显示隐藏效果
			通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素toggle() 方法来切换 hide() 和 show() 方法. 1.hide()隐藏元素 $(se ... 
- Jquery 如何获取表单中的全部元素的值
			1.使用var formData = $(formId).serialize()获取:获取数据的格式为url参数形式的字符串.例如:id=100&name=张三 2.服务器端使用parse ... 
- [转载]—Health Check Reports Problem: Dependency$ p_timestamp mismatch for VALID objects (文档 ID 781959.1)
			Health Check Reports Problem: Dependency$ p_timestamp mismatch for VALID objects (文档 ID 781959.1) AP ... 
- tsung基准测试方法、理解tsung.xml配置文件、tsung统计报告简介
			网上搜集的资料,资料来源于:http://blog.sina.com.cn/ishouke 1.tsung基准测试方法 https://pan.baidu.com/s/1Ne3FYo8XyelnJy8 ... 
