मैंने अन्य रूबी/एन्कोडिंग संबंधित पोस्टों को देखा है लेकिन यह पता लगाने में सक्षम नहीं है कि निम्नलिखित क्यों काम नहीं कर रहा है। शायद इसलिए कि मैं घना हूँ, लेकिन यहां स्थिति है।रूबी स्ट्रिंग एन्कोडिंग समस्या
विंडोज़ पर रूबी 1.9 का उपयोग करना। मेरे पास सीएसवी फाइलों का एक सेट है जिसे प्रत्येक पंक्ति के अंत में जोड़े गए कुछ डेटा की आवश्यकता है। जब भी मैं अपनी स्क्रिप्ट चलाता हूं, तो संलग्न वर्ण गिबिश होते हैं। इनपुट टेक्स्ट आईबीएम 437 एन्कोडिंग प्रतीत होता है, जबकि मेरी स्ट्रिंग जो मैं जोड़ रहा हूं वह यूएस-एएससीआईआई के रूप में शुरू होती है। इनपुट स्ट्रिंग्स या एपेंड स्ट्रिंग पर एन्कोडिंग को मजबूर करने के संबंध में मैंने कुछ भी नहीं किया है परिणामस्वरूप आउटपुट को बदलना प्रतीत होता है। मैं उलझन में हूं। वर्तमान एन्कोडिंग संस्करण बस आखिरी बार मैंने कोशिश की है।
def append_salesperson(txt, salesperson)
if txt.length > 2
return txt.chomp.force_encoding('US-ASCII') + %(, "", "", "#{salesperson}")
end
end
salespeople = Hash[
"fname", "Record Manager"]
outfile = File.open("ActData.csv", "w:US-ASCII")
salespeople.each do | filename, recordManager |
infile = File.open("#{filename}.txt")
infile.each do |line|
outfile.puts append_salesperson(line, recordManager)
end
infile.close
end
outfile.close
क्या आप अपनी स्क्रिप्ट में एन्कोडिंग जादू टिप्पणी का उपयोग कर रहे हैं? – kch