设置编译器支持UTF-8
在Dev-C++中,默认的编译器可能不支持UTF-8编码。需要确保编译器选项启用了UTF-8支持。打开项目选项或编译器设置,添加以下编译参数:
-finput-charset=UTF-8 -fexec-charset=UTF-8
修改源代码文件编码
确保源代码文件本身以UTF-8格式保存。在Dev-C++编辑器中,保存文件时选择编码为UTF-8(无BOM格式)。部分旧版本可能需要通过第三方编辑器转换编码。
使用宽字符或特定函数处理
对于文件读取操作,推荐使用支持宽字符的函数或特定库:
#include <locale>
#include <codecvt>
#include <fstream>
std::wifstream file("filename.txt");
file.imbue(std::locale(std::locale::classic(), new std::codecvt_utf8<wchar_t>));
处理标准输入输出流
若需在控制台显示UTF-8内容,需设置控制台代码页:
#include <windows.h>
SetConsoleOutputCP(65001); // UTF-8代码页
使用第三方库简化操作
对于复杂项目,可考虑使用跨平台库如ICU或Boost.Locale,这些库提供更完善的Unicode支持:
#include <boost/locale.hpp>
std::string utf8_str = boost::locale::conv::to_utf<char>(content, "UTF-8");
1347

被折叠的 条评论
为什么被折叠?



