mysql में चरित्र सेट समस्या - mysql, वर्ण-एन्कोडिंग

MySQL का पर्यावरण निम्न है:

character_set_database="big5"

और जब मैं एक एसक्यूएल भेजता हूं जिसमें पारंपरिक चीनी होती है

(जैसे "नाम * कहां से नाम = "中")

jdbc से mysql डेटाबेस तक, यह निम्न अपवाद फेंक देगा:

Illegal mix of collations (big5_chinese_ci,IMPLICIT), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation " IN ""

इसे कैसे हल किया जा सकता है ?

लेकिन हमें ऑरैकल और माइस्क्ल के बीच ऐसा करने की ज़रूरत है,और जब मेरा प्रोग्राम ऑरैकल से डेटा प्राप्त करता है (यह एन्कोडिंग आईएसओ -885 9 -1 है) और इसे जेडीबीसी में एसक्यूएल कथन में पास कर दें, तो इसमें ऐसी समस्या होगी, लेकिन मैं ऑरैकल के संयोजन को बदल नहीं सकता। इसे कैसे हल करें? जेएसपी स्वचालित रूप से इसे हल नहीं कर सकता है?

मैंने कनवर्ट करने की कोशिश की है लेकिन चीनी वर्ण लैटिन 1 चरित्र सेट में सहेजे नहीं जा सकते हैं। क्या इससे समस्या हो सकती है?

उत्तर:

उत्तर № 1 के लिए 1

अपने collations की जांच करें। डेटाबेस में एक ही संयोजन हो सकता है और टेबल एक और अलग हो सकता है। यदि आप दो तालिकाओं से संयोजनों को मिलाते हैं, तो आपको यह त्रुटि मिलती है।

इसके अलावा, स्वीडिश संयोजन डेटाबेस के लिए डिफ़ॉल्ट प्रतीत होता है (क्यों नहीं पता)।


जवाब के लिए 0 № 2

आपके जावा प्रोजेक्ट साइड में आपका एन्कोडिंग क्या है? क्या आप सुनिश्चित करते हैं कि यह बड़ा -5 भी है?


जवाब के लिए 0 № 3

जेएसपी समस्या को हल नहीं कर सकता है। जेएसपी को कैसे पता होना चाहिए, आप क्या चाहते हैं?

क्या आप अपने जेएसपी में कोई एन्कोडिंग-ट्रांसफॉर्मेशन करते हैं या क्या आप ऑरकल-डेटा को mysql-डेटाबेस में डालते हैं?

आम तौर पर डेटाबेस में कनेक्शन में आपकी स्क्रिप्ट, आपकी टेबल और बहुत महत्वपूर्ण में एक ही एन्कोडिंग होना महत्वपूर्ण है।


संबंधित सवाल
सबसे लोकप्रिय