हर बार जब मैं हैश को JSON स्ट्रिंग में परिवर्तित करने का प्रयास करता हूं तो मुझे Encoding::UndefinedConversionError - "\xC2" from ASCII-8BIT to UTF-8
मिल रहा है। मैं [.encode | .force_encoding](["UTF-8" | "ASCII-8BIT" ])
साथ की कोशिश की, .force_encoding
साथ .encode
चेनिंग, पीछे की ओर, पैरामीटर स्विचन लेकिन कुछ भी तो काम करने के लिए लग रहा था मैं इस तरह त्रुटि पकड़ा:एन्कोडिंग :: UndefinedConversionError
begin
menu.to_json
rescue Encoding::UndefinedConversionError
puts $!.error_char.dump
p $!.error_char.encoding
end
कहाँ मेनू एक MySQL DB से सामग्री के साथ एक अगली कड़ी के dataset.to_hash है, utf8_general_ci
एन्कोडिंग और इस लौटे"\ xC2"
< #Encoding: ASCII-8bit>
एन्कोडिंग कभी भी नहीं बदले, इससे कोई फर्क नहीं पड़ता कि .encode
/.force_encoding
मैं उपयोग करता हूं। मैंने भाग्य के बिना .gsub!(/\\\xC2/)
स्ट्रिंग को प्रतिस्थापित करने का भी प्रयास किया है।
कोई भी विचार?
1. क्या आपने इसे आजमाया? 'menu.force_encoding (" आईएसओ -885 9 -1 ")। एनकोड (" यूटीएफ -8 ")' 2. अपनी सभी .rb फ़ाइलों के शीर्ष पर "# एन्कोडिंग" utf-8'' स्ट्रिंग जोड़ें। 3 अपने पर्यावरण सेटिंग्स की जांच करें। आपके टर्मिनल में '$ LC_CTYPE' को प्रतिबिंबित करते हैं? – Kashyap
क्या चरण 1 त्रुटि के साथ विफल हुआ? चरण 2 काम किया? चरण 3 के लिए, http://thegreyblog.blogspot.in/2012/02/ फिक्सिंग-मैक-ओएस-एक्स-लायंस-एसएसएच-यूटीएफ -8-मुद्दों.html इस लिंक में एनवी सेटिंग्स हैं जो आपके प्रोग्राम को इस समस्या से बचने के लिए चलाना चाहिए। – Kashyap