再次unicode字符導致嚴重頭痛。這是我想要做的: 1)我正在導出Sqlite表(包括unicode字符)到xml文件(偉大工作和unicode字符不會丟失) 2)嘗試再次導入這些XML表ater他們有被編輯 - 工作正常,但unicode字符丟失。TinyXml:從XML文件中讀取wstring
這裏是讀取XML文件中的代碼:
wstring input;
TiXmlElement* root = doc.FirstChildElement();
// count number of rows in xml file
TiXmlElement* counter = root->FirstChildElement();
int totalRows = 0;
while(counter != NULL) {
totalRows += 1;
counter = counter->NextSiblingElement();
}
// import data
wchar_t firstChar;
int check, length;
wstring finalInput;
TiXmlElement* rowElement = root->FirstChildElement();
for (int a = 1; a <= totalRows; a++) {
TiXmlElement* columnElement = rowElement->FirstChildElement();
// clear insert statement
insert = start;
for (int b = 1; b <= columns; b++) {
node = columnElement->FirstChild();
text = node->ToText();
// !!! here we have the problem data gets imported as a string !!!
input = text->Value();
問題是,值(); (來自tinyxml文件的函數)返回const char *而不是const wchar_t。我試圖修改TinyXml文件來返回wchar_t,但是這導致了一些令人討厭的錯誤。
我現在的問題是:有誰知道如何從tinyxml的XML文件中讀取數據而不丟失Unicode字符?
在此先感謝,您的幫助一如既往,非常感謝。
我不知道你已經理解這個問題,忘記sqlite - 它可以導出/導入unicode字符串就好。我的問題是TinyXML中的Value()函數返回一個字符串而不是wchar_t的wstring。 這意味着當我嘗試讀取xml文件並將我的數據返回到我的應用程序時,我丟失了可能導出或添加到xml文件的任何Unicode字符。 不知何故我需要一個或多個函數從unicode庫返回一個wstring或另一組啓用Unicode的字符供我閱讀。 – TPhoton
UTF-8編碼的字符串*是* char數組。 –
好,我的壞。因此,如果我確保保存並加載UTF8編碼的xml文件,那麼檢索unicode字符(如é,€等)應該沒有問題?確切地說, – TPhoton