हालांकि मैंने इसका परीक्षण नहीं किया है, चरित्र-एन्कोडिंग लाइब्रेरी (वर्तमान में अल्फा में) यूटीएफ -8 और दूसरों को संभालने के लिए स्ट्रिंग क्लास में विधियों को जोड़ती है। रूबीफोर्ज पर इसका पृष्ठ here है। यह रूबी 1.8 के लिए डिज़ाइन किया गया है।
यह मेरा अनुभव है, हालांकि, रूबी 1.8 का उपयोग करके, यदि आप अपने डेटाबेस में डेटा को यूटीएफ -8 के रूप में संग्रहीत करते हैं, तो रूबी तब तक नहीं मिलेगा जब तक कि HTTP हेडर में आपका वर्ण एन्कोडिंग यूटीएफ -8 नहीं है । यह तारों पर काम करने में सक्षम नहीं हो सकता है, लेकिन यह कुछ भी तोड़ नहीं देगा। उदाहरण:
file.txt:
¡Hola! ¿Como estás? Leí el artículo. ¡Fue muy excellente!
मेरी खराब स्पेनिश क्षमा करें; यह यूनिकोड का सबसे अच्छा उदाहरण था जिसके साथ मैं आ सकता था।
in irb:
str = File.read("file.txt")
=> "\302\241Hola! \302\277Como est\303\241s? Le\303\255 el art\303\255culo. \302\241Fue muy excellente!\n"
str += "Foo is equal to bar."
=> "\302\241Hola! \302\277Como est\303\241s? Le\303\255 el art\303\255culo. \302\241Fue muy excellente!\nFoo is equal to bar."
str = " " + str + " "
=> " \302\241Hola! \302\277Como est\303\241s? Le\303\255 el art\303\255culo. \302\241Fue muy excellente!\nFoo is equal to bar. "
str.strip
=> "\302\241Hola! \302\277Como est\303\241s? Le\303\255 el art\303\255culo. \302\241Fue muy excellente!\nFoo is equal to bar."
असल में, यह केवल यूटीएफ -8 को ASCII के रूप में अजीब पात्रों के साथ व्यवहार करेगा। कोड बिंदु क्रम से बाहर होने पर यह लिखित रूप से क्रमबद्ध नहीं होगा; हालांकि, यह कोड बिंदु द्वारा क्रमबद्ध होगा। उदाहरण:
"\302" <=> "\301"
=> -1
कितना आप, वैसे भी रेल अनुप्रयोग में डेटा पर काम करने की योजना बना रहे हैं? अधिकांश सॉर्टिंग इत्यादि आमतौर पर आपके डेटाबेस इंजन द्वारा किया जाता है।
स्रोत
2008-10-02 00:28:54
कहने के लिए खेद है, लेकिन जैसा कि सवाल में बताया गया है कि मुझे रूबी 1.9 या रूबी 2.0 एटीएम में रूचि नहीं है। डेटाबेस में पढ़ने/लिखने में कोई दिलचस्पी नहीं हो सकती है ठीक है, लेकिन, इसके बारे में क्या कहते हैं, इन डेटा को बाद में सॉर्ट करना? – Georgi
SQL क्वेरी सहायता में सॉर्ट करना होगा? –