2009-08-03 12 views
5

मुझे उस समय कोई समस्या है जहां मेरा परीक्षण वातावरण डेटाबेस में ट्रेडमार्क चरित्र "™" को जारी नहीं रख रहा है। जब मैं फॉर्म डेटा में प्रवेश करता हूं, तो इसे सबमिट करें, मैं सर्वर सर्वर पर देख सकता हूं, अनुरोध में सही ढंग से एन्कोडेड ™ वर्ण है, लेकिन फिर जब "saveOrUpdate()" विधि को हाइबरनेट करने के लिए कॉल कहा जाता है, तो डेटा तालिका ऊपर उल्टा प्रश्न चिह्न के रूप में दिखाई देती है।हाइबरनेट ओरेकल और कैरेक्टर एन्कोडिंग

मैं तालिका का निरीक्षण करने के लिए एसक्यूएल डेवलपर का उपयोग कर रहा हूं, और मैं मैन्युअल रूप से पंक्ति में सीधे चिपककर चरित्र को बदल सकता हूं और यह काम करता है।

तो मैंने धारणा की है कि दृढ़ता के तरीकों को हाइबरनेट करता है सही तरीके से काम नहीं कर रहा है। कोई भाग्य के साथ कॉन्फ़िग फ़ाइल में

<property name="connection.useUnicode">true</property> 
<property name="connection.characterEncoding">utf-8</property> 

गुण,:

इम एक नुकसान यहाँ पर, वास्तव में, मैं सिर्फ क्या प्रयास करने की सूचना न, मैं निर्धारित किया है।

टेबल में मेरे कॉलम NVARCHAR2 (400 CHAR) हैं (हालांकि वे मूल रूप से, केवल VARCHAR2 के साथ शुरू करने के लिए थे, लेकिन मैंने उन्हें इस समस्या के डिबगिंग के दौरान बदल दिया)।

यहां कोई भी सहायता की सराहना की जाती है।

मार्क

उत्तर

6

ठीक है, तो यह पता चला है कि मैं क्या करने की जरूरत सच को defaultNChar कनेक्शन गुण सेट करने के लिए किया गया था।

मैंने टॉमकैट में अपने ऐप के संदर्भ फ़ाइल के माध्यम से ऐसा किया।

आलेख जो मुझे प्रबुद्ध किया गया था here था।

+0

हाय मैर्क, हम एनसीएचएआर का उपयोग नहीं कर रहे हैं, लेकिन हमें नॉर्डिक चरित्र के साथ समस्या का सामना करना पड़ रहा है। वे आईएसओ -885 9 -1 का हिस्सा हैं। ऐसा लगता है कि डेटाबेस में लिखते समय यह कुछ जादू करता है। –

+0

लिंक अब मृत है ... :( – xenoterracide

संबंधित मुद्दे