क्योंकि MySQL 5.1 4 बाइट यूटीएफ -8 अनुक्रमों का समर्थन नहीं करता है, मुझे इन तारों में 4 बाइट अनुक्रमों को प्रतिस्थापित/ड्रॉप करने की आवश्यकता है।जावा में एक यूटीएफ -8 स्ट्रिंग से 4 (+) - बाइट वर्णों को प्रतिस्थापित/निकालने के लिए कैसे?
मैं इन पात्रों को बदलने के लिए एक साफ रास्ता देख रहा हूँ।
अपाचे पुस्तकालयों में एक प्रश्न चिह्न के साथ पात्रों की जगह कर रहे हैं, इस मामले के लिए ठीक है, हालांकि ASCII बराबर निश्चित रूप से अच्छे, हो जाएगा।
एनबी। इनपुट बाहरी स्रोतों (ई-मेल नाम) से है और डेटाबेस को अपग्रेड करना इस बिंदु पर समय पर समाधान नहीं है।
आप मजाक कर रहे हैं। MySQL अभी भी इस दिन और उम्र में यूनिकोड का समर्थन नहीं करता है? यह बेहोश है। यह दर्शाते हुए कि आप यूनिकोड का समर्थन करते हैं जब आप केवल 1-, 2-, या 3-बाइट यूटीएफ -8 अनुक्रमों को संभाल सकते हैं, यह कहकर एक बड़ा झूठ है कि आप यूनिकोड का समर्थन करते हैं जब आप केवल 1-बाइट ASCII अनुक्रमों का समर्थन करते हैं। या तो आप किसी भी कानूनी यूनिकोड कोड बिंदु का समर्थन करते हैं, या आप यूनिकोड का समर्थन नहीं करते हैं। यह एक बाइनरी चीज है। MySQL जैसे लगता है यूनिकोड का समर्थन नहीं करता है। कृपया मुझे कहें कि यह एक मज़ाक है। – tchrist
@tchrist: MySQL 5.5.3 और ऊपर उचित UTF-8 का समर्थन नई 'utf8mb4 "" वर्ण सेट "के माध्यम से (http://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html) । हालांकि, "utf8" "वर्ण सेट" केवल 3-बाइट यूटीएफ -8 मल्टीबाइट वर्णों का समर्थन करता है, जो कि विभिन्न MySQL संस्करणों के बीच प्रतिकृति समस्याओं को रोकने के लिए है। भविष्य में MySQL रिलीज में "utf8" "utf8mb4" के लिए उपनाम में बदल सकता है। – ninjalj
[इस सवाल] के समान (http://stackoverflow.com/questions/8491431/remove-4-byte-characters-from-a-utf-8-string) सिवाय इसके कि यह जावा के बजाए PHP में समाधान का अनुरोध कर रहा है। यूटीएफ -8 में –