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无法编译)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探