जावा सभी वैध यूनिकोड टेक्स्ट को स्टोर करने में सक्षम है। यह आंतरिक रूप से UTF-16 का उपयोग करता है।
यदि आप संपूर्ण डेटा पथ को सही ढंग से कॉन्फ़िगर करते हैं, तो सभी पाठ संरक्षित रहेंगे। आपको यह सुनिश्चित करने की आवश्यकता है:
- सही स्ट्रिंग जावा तक पहुँचती है (वेब अनुप्रयोगों के मामले में, प्रपत्र के वर्ण एन्कोडिंग को सबमिट किया जा रहा है)।
- Java जानता है कि उसे UTF-8 में डेटाबेस से बात करनी चाहिए और डेटाबेस जानता है कि उसे कनेक्शन के माध्यम से UTF-8 की अपेक्षा करनी चाहिए। डेटाबेस कनेक्शन सेट करते समय आप यह सुनिश्चित करते हैं।
- डेटा को डेटाबेस में UTF-8 के रूप में संग्रहीत किया जाता है।
ध्यान दें कि [MySQL के लिए दस्तावेज़] दावे यूटीएफ -8 मूल बहुभाषी विमान के बाहर वर्णों को संग्रहीत करने में असमर्थ है (सभी "सामान्य" वर्ण बीएमपी के भीतर हैं)। यूटीएफ -8 स्वयं सभी यूनिकोड वर्णों को संग्रहीत करने में पूरी तरह सक्षम है और डेटाबेस इन वर्णों को भी एन्कोड करने में सक्षम होना चाहिए।
जावा स्वयं ठीक है - बस याद रखें कि कुछ दुर्लभ यूनिकोड वर्ण वास्तव में दो वर्ण होते हैं (जिसे सरोगेट जोड़ी ) जावा में।