我需要加载HTML模板文件(使用std::ifstream
),添加一些内容,然后将其保存为完整的网页。如果不是波兰字符这将是很简单 - 我已经试过的所有组合char
/wchar_t
,Unicode
/Multi-Byte
字符集,iso-8859-2
/utf-8
,ANSI
/utf-8
和他们没有工作对我来说(总是有一些不正确显示的字符(或者其中一些根本不显示)加载并保存包含波兰语字符的HTML文件
我可以在这里粘贴很多代码和文件,但我不确定这是否会有帮助,但也许你可以告诉我:什么格式/编码应该模板文件有,我应该在网页中声明什么编码,我应该如何加载并保存该文件以获得正确结果?
(如果我的问题不够具体,或者你做需要代码/文件的例子,让我知道。)
编辑: 我已经试过库建议的评论:
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
- 我做错了什么?
看看[这个](http://utfcpp.sourceforge.net/)库 – 2013-04-30 09:53:38
@ bash.d请查看编辑我的问题。 – NPS 2013-05-02 18:14:27
@ bash.d不幸的是,该库根本不适用于我(即使没有抛出异常,它仍然没有正确地转换字符)。 – NPS 2013-05-02 23:51:22