我需要加载一个 HTML 模板文件(使用std::ifstream
),添加一些内容,然后将其保存为一个完整的网页。如果不是波兰语字符,那将很简单-我尝试了char
/ wchar_t
,Unicode
/Multi-Byte
字符集,iso-8859-2
/ utf-8
,ANSI
/的所有组合,utf-8
但它们都不适合我(总是有一些显示不正确的字符(或者其中一些根本没有显示) )。
我可以在这里粘贴很多代码和文件,但我不确定这是否会有所帮助。但也许你可以告诉我:模板文件应该有什么格式/编码,我应该在其中为网页声明什么编码,以及我应该如何加载和保存该文件以获得正确的结果?
(如果我的问题不够具体,或者您确实需要代码/文件示例,请告诉我。)
编辑:我已经尝试了评论中建议的库:
std::string fix_utf8_string(std::string const & str)
{
std::string temp;
utf8::replace_invalid(str.begin(), str.end(), back_inserter(temp));
return str;
}
称呼:
fix_utf8_string("wynik działania pozytywny ąśżźćńłóę");
抛出:utf8::not_enough_room
- 我做错了什么?