目录
一、踩坑记录1
之前编译好的算法代码,最近需要使用,于是就直接打开工程运行,第一遍运行良好,替换了数据图像再次运行就莫名其妙报错,直接上错误!
文本后缀“”无效;未找到文文本运算符或文本运算符模板“operator """"。
产生原因:程序文件编码为UTF-8,对于UTF-8编码的某些字符就容易因解码错误导致乱码造成编译错误,因此需要进行编码设置。
解决办法1
将程序文件编码格式统一为UTF-8,可通过VS中的高级保存选项来设置,VS2019隐藏了高吸保存选项,需要我们手动调用出来:
1、单击工具栏中“工具”下的“自定义”标签。
2、单击列表中“命令”标签,进入“命令”选项框。
3、在“菜单栏”下拉列表中,选择“文件”选项。
4、单击“添加命令”按钮,在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”, 单击“确定”。
5、选中列表中的“高级保存选项”选项,单击“关闭”按钮,完成“高级保存选项”命令的添加操作。
添加完毕高级保存选项之后,对程序文件编码进行设置,若UTF-8 带签名没有解决可以尝试其他的编码,但要保证你的所有文件的编码统一。
解决办法2(偷懒方法)
通过在项目里设置编译选项,/utf-8
项目->右键属性->C/C++ -> 命令行,在下方输入框添加 /utf-8,就会在编译时采用utf-8编码来编译
我 偷懒 选择了方法2解决编码错误问题。奉劝各位不要学我偷懒,因为很快就会让你知道偷懒的代价!!!
至此,运行编码错误顺利解决,代码正常运行不会报错。以为这就结束了吗?
二、踩坑记录2(自己给自己挖的大坑)
但是!但是!但是!我是万万没想到这个问题解决之后随之而来的又是一个折磨了我半天的问题——就是运行代码在vs控制台出现中文乱码问题,废话不多说,直接上图!
中文乱码原因:在 Visual Studio 中,默认情况下,源代码文件的编码格式是 UTF-8。当在源文件中使用中文字符时,编译器会根据文件编码来解析这些字符。出现乱码很多时候是因为控制台编码可能与源文件编码不一致,导致输出中文字符时出现乱码。
解决方法
于是就在网上找各种相关的解决方法,根据诸位坑友的描述,主要包括:
- 更改高级保存选项来修改控制台的编码格式
- 修改注册表,找到“计算机\HKEY_CURRENT_USER\Console\”文件夹下的与Visual Studio相关的文件夹,更改Codepage选项
- 下载插件 Force UTF-8(No BOM) 来更改vs的输出编码为UTF-8。有的说要安装这个插件,有的则说卸载这个插件,都尝试了
- 安装插件Format on Save
上述方法我都尝试了,(对于我的这个错误)都没有效果,折磨了我一个下午,后来顺利解决!仔细想想上述方法的本质都是通过修改编码格式来解决中文乱码问题,其实都是正确的思路,只是我被自己蠢笑了,上个编码错误我偷懒用了方法二,这就是导致这里输出控制台中文乱码的罪魁祸首!!!怎么解决呢,很简单,只要删除方法二中添加的/utf-8即可!中文乱码搞定!!
最后,送给自己一句忠告吧:不要被眼前的舒适所诱惑,偷懒只会让你的未来更加艰辛。 与友友们共勉!