में यूटीएफ -8 फ़ाइल बनाएं मैं क्यूटी में एक यूटीएफ -8 कोडित फ़ाइल बनाने की कोशिश कर रहा हूं।क्यूटी
#include <QtCore>
int main()
{
QString unicodeString = "Some Unicode string";
QFile fileOut("D:\\Temp\\qt_unicode.txt");
if (!fileOut.open(QIODevice::WriteOnly | QIODevice::Text))
{
return -1;
}
QTextStream streamFileOut(&fileOut);
streamFileOut.setCodec("UTF-8");
streamFileOut << unicodeString;
streamFileOut.flush();
fileOut.close();
return 0;
}
मैंने सोचा था कि जब QString डिफ़ॉल्ट यूनिकोड के द्वारा होता है और जब मैं UTF-8 में उत्पादन धारा के कोडेक सेट मेरी फाइल को UTF-8 होगा। लेकिन ऐसा नहीं है, यह एएनएसआई है। मैं गलत क्या करूँ? क्या मेरे तारों में कुछ गड़बड़ है? क्या आप यूटीएफ -8 फाइल बनाने के लिए अपना कोड सही कर सकते हैं? मेरे लिए अगला चरण एएनएसआई फ़ाइल को पढ़ना होगा और इसे यूटीएफ -8 फ़ाइल के रूप में सहेजना होगा, इसलिए मुझे प्रत्येक पठन स्ट्रिंग पर रूपांतरण करना होगा, लेकिन अब, मैं एक फाइल से शुरू करना चाहता हूं। धन्यवाद।
आपको स्ट्रिंग अक्षर को QString :: fromUtf8() से स्ट्रिंग में परिवर्तित करना चाहिए। इसके अलावा, कुछ कंपाइलरों में स्रोत फ़ाइलों (एमएसवीसी) में गैर-एसीआई एन्कोडिंग के साथ समस्याएं होती हैं।तो हो सकता है कि स्ट्रिंग में प्रवेश करते समय यह काम करता है या नहीं QInputDialog। मैं इस तरह के मुद्दों का सामना करते समय QT_NO_CAST_FROM_ASCII और QT_NO_CAST_TO_ASCII को परिभाषित करने का भी सुझाव देता हूं। यह निहित रूपांतरण अक्षम करता है और इस प्रकार यह स्पष्ट करता है कि क्या हो रहा है। –
http://stackoverflow.com/questions/29485602/qt-convert-unicode-entites – trante