我正在使用Apache commons fileupload API从UI上传文件。在文件中有一个条目如下:
#include <iostream>
#include <string>
#include <memory>
std::string my_to_string(const double & value) {
const int length = std::snprintf(nullptr, 0, "%.1f", value);
std::unique_ptr<char[]> buf(new char[length + 1]);
std::snprintf(buf.get(), length + 1, "%.1f", value);
return std::string(buf.get());
}
int main(int argc, char * argv[])
{
std::cout << my_to_string(argc) << std::endl;
std::cout << my_to_string(2.5156) << std::endl;
}
但是在加载文件后,角色变成了下面的字符
<name>m²</name>
我不确定这里是否有编码功能。请指南
答案 0 :(得分:0)
上传的文件似乎是XML。首先,文件应该是纯文本,并使用实体编码作为上标2.理想情况下<name>m²</name>
应该是&lt; name&gt; m&amp;#178;&lt; / name&gt; ,其中&amp; ;#178;是上标2字符。 xml处理器应该相应地转换这个实体字符。
Wikipedia with ISO-8859-1字符集的引用,显示代码页布局部分下的字符图表。