Flash8のswfでXMLクラスを用いたUTF-8のXMLファイルはBOM(0xEF, 0xBB, 0xBF)を付けないと読んでくれない。
WindowsではShiftJISを使ってXMLを出していたが、Linuxを使うにあたり、 UTF-8に移植する際に発覚。
こんな感じでBOMをつけるようにした。
static const char BOM[3] = {0xEF, 0xBB, 0xBF}; fstream strm("hoge.xml", std::ios::out); strm.write(BOM, sizeof(BOM)); strm << "XMLデータ" << endl; strm.close();
Comments are closed here.