当我调用一个接受 char* 的 tinyxml 函数时,我需要传递什么 unicode 格式?
TiXmlText *element_text = new TiXmlText(string);
原因是我使用的是 wxString 对象,我可以给它很多不同的编码。如果我只执行 string.c_str(),wxstring 对象将查询当前语言环境的编码并以该格式创建一个 char* 字符串。或者如果我执行 string.utf8_str(),它将传递一个 utf-8 字符串,但似乎 tinyxml 不会意识到它已经是 utf-8 编码并将 utf-8 字符串重新编码为 utf-8(是的,结果是双 utf-8 编码)。因此,当我写出时,如果我将 notepad++ 设置为显示 utf-8,我会看到:
baÄŸlam 而不是 bağlam。
我想自己对 utf_8 (string.utf8_str()) 进行编码,而不是让 tinyxml 触摸它,然后把它写出来。
我该怎么做呢?tinyxml 期望在函数参数中传递什么格式(上面代码中的构造函数)?测试的答案不是 utf-8,但如果有意义的话,它最终会写成 utf-8。