VS2015 C++设置支持UTF-8 without BOM编码

博客主页:http://blog.csdn.net/xs1102 https://blog.csdn.net/xs1102/article/details/83186321

VS一直对源代码文件的编码支持不太好,尤其是UTF-8,VS2010以后支持UTF-8 with BOM编码,也就是带签名的UTF8,但GCC编译器并不支持这种编码,支持不带签名的UTF8。所以对于有跨平台需求的用户就很头疼了,不跨平台的用户直接修改文件编码就好,另存为或使用批量修改器都行,这里不探讨。

关于gcc设置编码,请移步这里:GCC设置源代码文件编码格式_XieShuaiCn的博客-CSDN博客_gcc不支持的源文件格式

博客主页:XieShuaiCn的博客_CSDN博客-Linux,Ubuntu,安装软件领域博主

文章地址:VS2017 C++设置支持UTF-8 without BOM编码_XieShuaiCn的博客-CSDN博客_vs 支持utf8

一种兼容最好的方案时,源代码中全部使用英文,包括注释。这样的文件保存为ASCII码就可以,当然UTF8也可以,在任何系统都可以完美的兼容。但对于英文不好的人来说,比如博主我,也是一件非常痛苦的事情。

苦苦的挣扎之后,终于找到一个解决方案,该方案至少从Visual Studio 2015 Update 2版本开始支持。低版本的也可以试试,行不通的可以留言。

方法如下:

在解决方案浏览器中,右击项目名称,打开属性页。

找到C/C++ -> 命令行,在右侧的“其他选项”文本区中输入:

/utf-8

若只需要修改源代码的编码,也可以只输入:

/source-charset:utf-8

类似的,还有可执行文件编码:/execution-charset:utf-8

/utf-8相当于同时设置源代码和可执行文件。

参考文献:

https://docs.microsoft.com/zh-cn/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=vs-2015

还有一种方法可以试试:

第一次用vs2015遇到乱码问题的时候也是很疑惑,在vs2010下面正用着很好的代码怎么就会出现乱码了呢,在百度google查了一下资料才知道原来是语言设置问题。现在我把截图跟步骤发出来供大家参考。

(1)要让焦点选中可编辑的.h或者.cpp文件内,点击vs2015的菜单--->文件--->高级保存选项

(2)在弹出的设置框 编码栏选择-->简体中文GB2312确定即可:如下图

如果不进行上述设置SendMessage的时候接收到的中文也可能是乱码。

原文链接:https://blog.csdn.net/wjakl001/article/details/53581861

vs2015中文乱码相关推荐

  1. vs2010 qt中文乱码 最终版

    2020.11.27 最后终于把这玩意里理解明白了,可能是翻译引起的理解差异吧.微软对此做出的解释: 对于vs编译器来说,有两个概念: 源字符集 执行字符集 对于vs2010 sp1-VS2015,引 ...

  2. Qt5中文乱码解决方案

    升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题 第一种: 在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8 ...

  3. SpringSecurity安全验证中文乱码问题

    使用SpringSecurity做安全验证时发现form表单中提交中文名会出现乱码问题. 原因是因为我在web.xml配置文件中将springSecurityFilterChain拦截器放在了 cha ...

  4. httpclient工具类,post请求发送json字符串参数,中文乱码处理

    在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的.可是在使用httpclient发送post请求报文含中文 ...

  5. 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

  6. Servlet、MySQL中文乱码

    1.Servlet中文乱码: 在doPost或doGet方法里,加上以下两行即可: response.setContentType("text/html;charset=UTF-8" ...

  7. android java 中文乱码_android读写中文如何避免乱码详解

    前言 android读取文件中文出现乱码的原因无非就是,读取文件的字符格式与写如文件的格式不一致.因此,避免中文乱码,要在写入文件的时候按照一定的格式写入,读取的时候按照一定的格式读取.这样对应就不会 ...

  8. java servlet 参数乱码_JSPServlet处理参数中的中文乱码总结

    从form表单提交信息到一个JSP页面或者一个Servlet进行处理的时候,提交的中文信息若不加处理的话就会显示乱码,如一串???.现在通过一个例子来进行总结如下: 写一个用户信息提交页面,通过这个页 ...

  9. php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法

    在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...

最新文章

  1. G7终极2.3.7完美版,黑白分明,值得永久收藏使用
  2. vue-cli教程(一)
  3. python继承问题_深入浅析python继承问题
  4. 全国计算机二级vb 无纸化,2013年3月全国计算机等级考试二级VB无纸化上机题题库题干及答案解析(2)...
  5. flowable笔记 - 简单的通用流程
  6. MATLAB学习笔记(十)
  7. VMware player桥接模式不能联网的解决方法
  8. [poj] 1236 networks of schools
  9. 卡巴世界,卡巴斯基,卡巴斯基key,卡巴斯基激活码,软件下载,每天更新
  10. 1一10到时的英文单词_从第一到第十英语单词,第一到第十英语单词!
  11. [SourceTree - Git] 如何解决冲突 (以我的版本解决冲突以他人版本解决冲突)
  12. MySQL数据库完全备份与恢复
  13. vlan是什么?如何划分vlan?如何实现vlan?使用vlan的优点!
  14. 2022年后疫情时代下市场研报报告合集(共90份)
  15. Excel中数字、数值和文本的区别
  16. 使用云祺虚拟机备份软件恢复SANFOR HCI虚拟机
  17. 微信视频气泡 android,变变微信聊天气泡
  18. 生成MyEcilpse注册码
  19. 前端基本功---JS数据类型知多少
  20. php培训学校选兄弟连,php培训,兄弟连更靠谱

热门文章

  1. 判断仅有指针域的单链表是否有环且怎么找到环
  2. 正则表达式的坑与调试
  3. Linux进程虚拟地址空间
  4. k8s 命令 重启_快速入门Kubernetes(K8S)——资源清单
  5. css hack *html,CSS Hack详解
  6. 二叉树的层序遍历_NC15 求二叉树的层序遍历
  7. jtabel 遍历_单击按钮更新JTable
  8. linux go redis,使用go来操作redis的方法示例
  9. 这样的阅读工具,人手一个不过分吧?
  10. 据说这是中途接手别人项目时的场景