में .csv में UTF-8 BOM निर्यात करें। मैं एक MySQL डेटाबेस से आरजेडीबीसी के माध्यम से एक फ़ाइल पढ़ रहा हूं और यह आर में सभी अक्षरों को सही ढंग से प्रदर्शित करता है (उदाहरण के लिए, נווה שאנן)। हालांकि, write.csv और fileEncoding = "UTF-8" का उपयोग करके इसे निर्यात करते समय भी आउटपुट <U+0436>.<U+043A>. <U+041B><U+043E><U+0437><U+0435><U+043D><U+0435><U+0446>
(इस मामले में यह ऊपर की स्ट्रिंग नहीं है लेकिन बल्गेरियाई एक है) बल्गेरियाई, हिब्रू, चीनी और इसी तरह के लिए दिखता है। अन्य विशेष पात्र जैसे ã, ç आदि ठीक काम करते हैं।आर
मुझे लगता है यह UTF-8 बीओएम की वजह से है, लेकिन मैं शुद्ध
मेरे ओएस पर एक समाधान एक जर्मन Windows7 है नहीं मिला।
संपादित करें: मैं
con<-file("file.csv",encoding="UTF-8")
write.csv(x,con,row.names=FALSE)
और (AFAIK) बराबर write.csv(x, file="file.csv",fileEncoding="UTF-8",row.names=FALSE)
की कोशिश की।
क्या आप कह रहे हैं कि जब आप निर्यात की गई फ़ाइल खोलते हैं, तो आप "ж" के बजाय "U + 0436" देखते हैं? यदि ऐसा है तो कोई बीओएम मुद्दा नहीं है, तो यूनिकोड कोड बिंदुओं का एक मुद्दा यूटीएफ एन्कोडिंग में एन्कोड नहीं किया जा रहा है, लेकिन कोड पॉइंट के रूप में आउटपुट। शायद हमें कुछ कोड दिखाएं कि आप फ़ाइल को कैसे निर्यात कर रहे हैं? – deceze
मैंने इस जानकारी को जोड़ा कि मैंने फ़ाइल को कैसे निर्यात किया। और हाँ, मैं "" की बजाय "ж" –
फ़ाइल में "" देखकर संदिग्ध है (इसका अर्थ यह भी हो सकता है कि उन पात्रों को वास्तव में उस फ़ाइल में रेखांकित किया गया है या आपका संपादक उन्हें प्रदर्शित नहीं कर सकता है)। आप या तो हमें फाइल में "ж" लिख सकते हैं और हमें जेनरेट की गई सभी पात्रों के हेक्स-वैल्यू बता सकते हैं (इसे हेक्स-एडिटर में खोलें); या हमें अपनी समस्या को पुन: उत्पन्न करने के लिए कोड दें (बेशक हमारे पास आपका डीबी नहीं है, इसलिए नमूना डेटा के साथ एक वेक्टर बनाएं)। –