संपादित करें: ध्यान दें कि ओरेकल पर यूटीएफ को संभालने का सबसे अच्छा तरीका डेटाबेस चरित्र सेट AL32UTF8 का उपयोग कर डेटाबेस बनाना है, और सामान्य वर्चर 2 कॉलम का उपयोग करना है। Nchar कॉलम का उपयोग करने वाली समस्याओं में से एक यह है कि ऑर्केकल सामान्य char/varchar2 कॉलम के लिए इंडेक्स का उपयोग नहीं कर सकता है जब तर्क डिफ़ॉल्ट रूप से nchar के रूप में भेजे जाते हैं।
वैसे भी:
पहले, यूनिकोड शाब्दिक एक 'एन' उपसर्ग के साथ होने के लिए, की जरूरत है इस तरह:: यदि आप डेटाबेस परिवर्तित नहीं कर सकते हैं
select n'Language - Språk - Język' from dual;
*) 8 बिट एनकोडिंग इस पाठ
दुर्भाग्य से संभाल सकते हैं, वह पर्याप्त नहीं है।
किसी कारण से, डेटाबेस क्लाइंट के लिए डिफ़ॉल्ट व्यवहार डेटाबेस स्ट्रिंग अक्षर, पर सभी स्ट्रिंग अक्षर का अनुवाद करना है जिसका अर्थ है कि डेटाबेस स्ट्रिंग को देखने से पहले भी बदल जाएगा।
ग्राहकों के लिए कुछ विन्यास की जरूरत है एक NCHAR या NVARCHAR स्तंभ में यूनिकोड वर्ण सम्मिलित करने के लिए सक्षम होने के लिए:
एसक्यूएल यूनिक्स पर प्लस
ये environemnet चर यूनिक्स पर्यावरण और sqlplus सेट यूटीएफ -8 फाइलों का उपयोग करने के लिए, और यूनिकोड में स्ट्रिंग अक्षर भेजने के लिए एसक्लप्लस को कॉन्फ़िगर करें।
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
LC_CTYPE="en_US.UTF-8"
ORA_NCHAR_LITERAL_REPLACE=true
(en_US.UTF-8 सोलारिस के लिए है -। लिनक्स या अन्य प्रणालियों विभिन्न तार आवश्यकता हो सकती है, locale -a
का उपयोग समर्थित स्थानिक सूची)
JDBC ड्राइवर
दैवज्ञ JDBC का उपयोग कर आवेदन ड्राइवर को यूनिकोड में स्ट्रिंग्स अक्षर भेजने के लिए परिभाषित निम्न सिस्टम प्रॉपर्टी की आवश्यकता होती है।
-Doracle.jdbc.defaultNChar=true
-Doracle.jdbc.convertNcharLiterals=true
SQL डेवलपर
sqldeveloper का पता लगाएँ।conf, और जोड़ने के निम्नलिखित लाइनों:
AddVMOption -Doracle.jdbc.defaultNChar=true
AddVMOption -Doracle.jdbc.convertNcharLiterals=true
एसक्यूएल प्लस माइक्रोसॉफ्ट विंडोज
मैंने कोशिश नहीं करता है, तो sqlplus माइक्रोसॉफ्ट विंडोज या टॉड पर utf-8 संभालती है सब पर है। Sqlplusw.exe ऐसा कर सकता है, और निम्न रजिस्ट्री सेटिंग्स चाल कर सकती हैं।
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORA_NCHAR_LITERAL_REPLACE=true
मैं स्वयं इस का जवाब दे रहा हूँ के बाद से मैं एक सप्ताह यह पता लगाना खर्च किया है ... मुझे आशा है कि गूगल यह पाता है ... – KarlP
ध्यान दें कि अच्छा तरीका ओरेकल पर यूटीएफ 8 का समर्थन करने के लिए, डेटाबेस वर्ण सेट AL32UTF8 का उपयोग कर डेटाबेस बनाना है, और सामान्य वर्चर 2 कॉलम का उपयोग करना है। – KarlP