मैं एक मिलान जो 0x1235 के नीचे 0x1234 के UTF-8 एन्कोडिंग यूनीकोड मानक में चरित्र मानचित्रण की परवाह किए बिना आदेश देता है करना चाहते हैं। MySQL इसके लिए utf8_bin का उपयोग करता है। एमएसएसएलएल स्पष्ट रूप से http://msdn.microsoft.com/en-us/library/ms143350.aspx में बीआईएन और बीआईएन 2 संयोजन हैं। इन्हें ढूंढना आसान था, मुझे भी collations की एक सूची नहीं मिल सकती है PostgreSQL इस विशिष्ट प्रश्न के बहुत कम जवाब का समर्थन करता है।PostgreSQL UTF-8 द्विआधारी मिलान
उत्तर
सी लोकेल करेंगे। यूटीएफ -8 डिज़ाइन किया गया है ताकि बाइट ऑर्डरिंग कोडपॉइंट ऑर्डरिंग भी हो। यह तुच्छ नहीं है, लेकिन पर विचार कैसे UTF-8 काम करता है:
Number range Byte 1 Byte 2 Byte 3 0000-007F 0xxxxxxx 0080-07FF 110xxxxx 10xxxxxx 0800-FFFF 1110xxxx 10xxxxxx 10xxxxxx
जब बाइनरी डेटा छँटाई उर्फ सी स्थान, पहली गैर बराबर बाइट orering etermine होगा। हम यह देखने के लिए तैयार हैं कि यदि यूटीएफ -8 में एन्कोड किए गए दो नंबर भिन्न होते हैं तो पहले गैर-बराबर बाइट निम्न मान के लिए कम होगा। यदि संख्याएं अलग-अलग श्रेणियों में हैं तो पहले बाइट कम संख्या के लिए वास्तव में कम होगी। उसी सीमा के भीतर, आदेश को सचमुच उसी बिट्स द्वारा निर्धारित किया जाता है जैसे एन्कोडिंग के बिना।
Postgres मिलान क्लस्टर निर्माण पर सिस्टम स्थान से परिभाषित किया गया उपयोग करता है।
आप एनकोड द्वारा ऑर्डर करने के लिए (स्तंभ, 'हेक्स') पाठ के
क्रमबद्ध क्रम lc_collate
पर निर्भर करता है की कोशिश कर सकते (सिस्टम स्थान पर नहीं है!)। यदि आप कोई अन्य लोकेल प्रदान नहीं करते हैं तो सिस्टम लोकेल केवल डीबी क्लस्टर बनाते समय डिफ़ॉल्ट के रूप में कार्य करता है।
व्यवहार आप उम्मीद कर रहे हैं केवल वातावरण C
साथ काम करता है। इसके बारे में सब in the fine manual पढ़ें:
सी और POSIX collations दोनों निर्दिष्ट "पारंपरिक सी" व्यवहार, में जो केवल ASCII अक्षरों 'ए' में "Z" के माध्यम से के रूप में पत्र, और छंटाई किया जाता है इलाज कर रहे हैं कड़ाई से चरित्र कोड बाइट मान द्वारा।
जोर मेरा। PostgreSQL 9.1new features for collation की एक जोड़ी है। ठीक वही हो सकता है जो आप खोज रहे हैं।
आप इसे कैसे बजाय एक अक्षरात्मक तरह एक कोड बिंदु तरह कर कर सकता हूँ? आप जानते हैं, ताकि यह यूनिकोड कोलेशन एल्गोरिदम का उपयोग कर सके। अन्यथा आपको यूनिकोड टेक्स्ट पर वर्णमाला क्रम कभी नहीं मिलेगा। – tchrist
@ क्रिसमस: आम तौर पर आपके पास अपने लोकेल में 'lc_collate' सेट है। उदाहरण: इंग्लैंड में, आपके पास शायद 'lc_collate'' en_EN.utf8' पर सेट होगा। अपनी सेटिंग देखने के लिए 'दिखाएं lc_collate;' का प्रयास करें। अधिक जानकारी के लिए मेरे उत्तर में लिंक का पालन करें। –
- 1. PostgreSQL + PHP + UTF8 = एन्कोडिंग
- 2. UTF8 Postgresql MySQL की तरह डाटाबेस बनाएं
- 3. पर्ल precompiled regex - UTF8
- 4. utf8 char
- 5. द्विआधारी मैट्रिक्स
- 6. द्विआधारी/हेक्स
- 7. द्विआधारी फ़ाइल
- 8. PostgreSQL
- 9. utf8 और latin1
- 10. UTF8 को यूनिकोड
- 11. जावा + MySQL UTF8 समस्या
- 12. UTF8 एन्कोडिंग AJAX
- 13. Django परीक्षण डेटाबेस UTF8
- 14. जावा: फ़ाइल को utf8
- 15. एसक्यूएल सर्वर utf8 कैसे?
- 16. PHP में preg_match साथ मिलान UTF वर्ण: (* UTF8) विंडोज पर काम करता है, लेकिन नहीं लिनक्स
- 17. द्विआधारी खोज वृक्ष
- 18. सटीक द्विआधारी छवि वर्गीकरण
- 19. में आदेश द्विआधारी पेड़
- 20. ढूँढना एक द्विआधारी ढेर
- 21. द्विआधारी खोज पेड़
- 22. द्विआधारी अंतर आउटपुट फ़ाइल
- 23. बनाना द्विआधारी खोज पेड़
- 24. द्विआधारी बनाम पाठ प्रोटोकॉल
- 25. सी ++ द्विआधारी लगातार/शाब्दिक
- 26. द्विआधारी "पूंछ" एक फ़ाइल
- 27. रूबी: एक द्विआधारी संख्या
- 28. पीएचपी द्विआधारी प्रतिक्रिया लिखने
- 29. द्विआधारी ढेर में हटाना
- 30. utf 8 - PHP और MySQLi UTF8
यह कोड कोड सॉर्ट है, जो यूनिकोड पर प्रतिस्पर्धात्मक रूप से बेकार है। यूनिकोड द्वारा यूनिकोड कोलेशन एल्गोरिदम में आवश्यक सॉर्ट एल्गोरिदम का उपयोग करके आप इसे उचित वर्णमाला क्रम कैसे बनाते हैं? – tchrist
@ क्रिसमस: यह सवाल नहीं है। –