टेक्स्ट को टेक्स्टफ़िले में लागू करने से अजीब चरित्र प्राप्त हो रहे हैं?


-1

पाठ फ़ाइल में सफलतापूर्वक पाठ जोड़ने के बाद, मुझे अजीब अक्षर मिल रहे हैं, क्या यह इसलिए है क्योंकि मैं सही प्रारूप सेट नहीं कर रहा हूँ? यहाँ कोड मैंने कोशिश की है:

Dim fso As Object
Dim Msg As string
Msg = "Hello World"
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Fileout As Object
Dim filePath As String
filePath = "C:\file.txt"
Const ForAppending = 8
Set Fileout = fso.OpenTextFile(filePath, ForAppending) <<== might be the error not sure
Fileout.WriteBlankLines (1)
Fileout.Write Msg
Fileout.Close
Set fso = Nothing
Set Fileout = Nothing

आउटपुट:

मेरे अपेंडिक्स का परीक्षण करना। 牅 牅 潲 ㄠ 〰 ‴ <<<< == एपेंड पर वह सामान प्राप्त करना।


का मूल्य क्या है filePathऔर ForAppending?
जुहूज़

अद्यतन पोस्ट की जाँच करें। फ़ाइल पथ है c: \ file.txt, ForAppending 8 है
user590792

अपील करने के बाद, मैंने यह देखने के लिए अपनी टेक्स्ट फ़ाइल खोली कि मुझे क्या मिला, मैं जो देख रहा हूं वह केवल चीनी अक्षर हैं। "यह वही है जो मेरे टेक्स्टफाइल में लागू होने से पहले है" << --- जो पहले से ही टेक्स्ट फाइल में है।
user590792

नहीं, हैलो दुनिया नहीं दिखा, केवल चीनी अक्षर ect।
user590792

ओह, यह पूरी तरह से मेरे लिए चलता है। पुनः उत्पन्न नहीं कर सकते।
रेयास्टफ़ेरियन

जवाबों:


0

मैं फाइल फॉर्मेट को 'यूनिकोड' के बजाय बहरे के रूप में सेट करूंगा ताकि एक बाइट ऑर्डर मार्क (BOM) लिखा जाए जो अन्य एमएस एप्लिकेशन फाइल एन्कोडिंग को पहचानने के लिए उपयोग कर सकते हैं

यदि आपका पाठ ASCII तक सीमित है, तो मैं उस प्रारूप को भी आजमाऊंगा।

मुझे नहीं पता कि इनका प्रारंभिक BOM पर क्या प्रभाव पड़ता है जब (शायद कोई नहीं)।

object.OpenTextFile (फ़ाइल नाम [, iomode [, create [, format]]]]

प्रारूप तर्क में निम्न में से कोई भी सेटिंग हो सकती है:

Constant           Value  Description
TristateUseDefault    2   Opens the file using the system default.
TristateTrue          1   Opens the file as Unicode.
TristateFalse         0   Opens the file as ASCII.

अनुप्रयोग संदर्भ के लिए विजुअल बेसिक - ओपनटेक्स्टाइल विधि

ध्यान दें कि "यूनिकोड" UTF-16 LE के एन्कोडिंग के लिए एक Microsoft मिथ्या नाम है। कई अलग-अलग यूनिकोड एनकोडिंग हैं। तर्कपूर्ण रूप से सबसे उपयुक्त एक, UTF-8, स्पष्ट रूप से इस एपीआई में स्पष्ट रूप से निर्दिष्ट नहीं है।


मैंने fso.OpenTextFile (filePath, 8, true, 2) की कोशिश की है, लेकिन यह मुझे उस तर्क में त्रुटि हो रही है।
user590792

यह बताने की कोशिश करें कि तर्क क्या हैं। KB संदर्भ को अद्यतन करना
Raystafarian

0

नोटपैड के साथ अपनी टेक्स्ट फ़ाइल को पहले खोलें, एन्कोडिंग को डायलॉग के रूप में जांचें, फिर उसी एन्कोडिंग को .OpenTextFile विधि (-2 - सिस्टम डिफॉल्ट, -1 - यूनिकोड, 0 - ASCII) में सेट करें। मेरा मानना ​​है कि आपकी फ़ाइल में यूनिकोड एन्कोडिंग है, इसलिए 4 वें तर्क -1 होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.