/ / रूबी 1.9.2 यूनिकोड - यूनिकोड से बचने वाले अक्षरों को छोड़ दिया - रूबी, यूनिकोड, यूटीएफ -8

रूबी 1.9.2 यूनिकोड - यूनिकोड से बचने वाले अक्षरों को छोड़ दिया - रूबी, यूनिकोड, यूटीएफ -8

मेरे पास utf-8 में एक स्ट्रिंग है (.encoding.name और .valid_encoding के अनुसार?) और इसमें एक एस्केड यूनिकोड वर्ण है (u009A)

"Hammarskju009Ald"

इसे "हम्मार्स्कल्ड" के रूप में प्रिंट करना चाहिए, लेकिन यह सिर्फ ग्रैफेम को छोड़ देता है। ईजी:

puts "Hammarskju009Ald"
p "Hammarskju009Ald"

पाठ में परिणाम:

Hammarskjld
"Hammarskju009Ald"

यह भी (अगर मैं डेटाबेस में डेटा को सहेजता हूं)जब यह भी बचाता है तो इसे छोड़ देता है। मैंने थोड़ी देर के लिए खोज की है, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे अनदेखा करना है (जो मुझे लगता है कि मुझे ऐसा करने की ज़रूरत है)। 1.8.7 के लिए बहुत सारी जानकारी है, और 1.9.2 के लिए कुछ चीजें मुझे जो चाहिए वह नहीं है।

किसी को भी यह पता है कि मैं क्या करना चाहता हूं? मुझे लगता है कि एक वैध utf-8 स्ट्रिंग है, जो मैं करना चाहता हूं वह डेटाबेस (बरकरार) में सहेजना है, लेकिन यह हमेशा से बच निकले यूनिकोड को छोड़ देता है।

उत्तर:

जवाब के लिए 0 № 1

क्या आपको यकीन है कि यह गिरा दिया गया है, और न केवल प्रदर्शित किया गया है? हो सकता है कि यह उस कोड बिंदु में एक गैर-प्रदर्शित शून्य-चौड़ाई वाले चरित्र वाले आपके फ़ॉन्ट की समस्या हो।

जब आप इसे डेटाबेस से बाहर ले जाते हैं और p"एड या inspectएड, अगर आप बच निकले चरित्र को देख रहे हैं, तो इसका मतलब है कि यह वहां नहीं है, गिराया गया है। यह आपकी प्रिंटिंग है कि यह मुद्दा है।