vs2019 C++代码上传到linux服务器中文乱码,批量转换编码格式UTF-8

一、问题:

C++基于Linux的远程开发,在windows用VS2019开发代码,拷贝到linux服务器,中文是乱码。

1.vs2019的代码,用notepad++看编码格式是GB2312

 

 2.代码在linux用vim看编码格式是latin1(自动编码判断机制不准导致的)

 解释参考:https://www.cnblogs.com/Mrq-t/p/12795725.html

 

二、解决方案:

2.1.单个文件

2.1.1 如果文件在windows,用txt打开,然后另存为的时候,选择UTF-8格式。或者使用VS2019的“高级保存选项”的方法,参考情况三:https://blog.csdn.net/qq_42956179/article/details/106075025?spm=1001.2014.3001.5502。

2.1.2 如果文件在linux,用vim打开,设置一下编码格式。

   2.1.2.1 在Vim中可以直接查看文件编码
    :set fileencoding

      2.1.2.2 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
    :set fileencoding=utf-8

  参考:https://blog.csdn.net/jnbbwyth/article/details/6991425

2.1.3 如果文件在linux,使用icnov命令,需要安装(未验证)。

  参考:https://blog.csdn.net/konglongaa/article/details/80590843

2.2 多个文件,批量转换.

  2.2.1 第一步,使用vs2019下载插件Format on Save

  该博客适用于刚开发的时候,参考:https://www.cnblogs.com/zzzsj/p/16797836.html

  2.2.2 第二步,在项目 属性 -> C/C++ -> 命令行中配置UTF-8

       该博客适用于已经开发完,很多文件都是GB2312的编码,需要批量转换,参考情况二:https://blog.csdn.net/qq_42956179/article/details/106075025?spm=1001.2014.3001.5502。配置完应用之后,VS2019会自动转码。

       注意事项:

      1.由于修改了编码,可能会导致存储中文的数组越界,调大点就可以了。

      2.除了C++的.cpp文件和.h文件可以用这种方法,其他的配置文件和MakeFile文件需要避免转换编码格式(有可能会导致makefile无法编译)。                

 

posted @   扫地僧偷吃菜鸡  阅读(296)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示