Drogon视图生成源文件乱码

前言

在使用Drogon的视图(csp)文件,编译的时候,提示"warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失".在手动创建csp文件后,我特意修改文件的编码格式为uft-8,怎么还会出现这个问题.
drogon的csp文件在编译时,提示Unicode

在看到这个提示之后,去看看drogon_ctl在根据csp文件生成的cc源文件.
在编译项目的时候,会根据csp文件生成cc源文件
在运行项目后,在浏览器看看显示效果
csp文件生成cc源文件有乱码,在浏览器大部分可以正常 显示,只有少数是乱码
后来用其他记事本工具查看文件是utf-8,并且没有乱码:
使用notepad2-mod查看csp生成的源文件
这个问题主要发生drogon_ctl在生成源文件的时候,使用默认的编码格式,而Windows默认编码格式并不是utf-8,Linux默认编码格式是utf-8,只要修改系统默认编码格式就可以(这个简单,主要不会用C++修改编码格式写文件).
具体步骤:
打开控制面板,使用命令 control
在Windows系统中打开控制面板
选择 管理 选项卡,双击 更改系统区域设置
修改系统区域设置

勾选 使用utf-8提供全球语言支持
勾选 使用utf-8提供全球语言支持
修改这个需要重启系统,重启后,重新修改一些csp文件.再次编译,运行效果:
drogon正常显示了
这个修改博客的框架是使用Drogon,是C++的Web框架,后面就是从Sqlite获取数据了,主要是学习C++,这里也没有进行前后端分离,感觉博客类不太适合.技术不多加练习,过一段时间就会忘记.
秋风 2023-01-17