2013-06-06 3 views
6

चीनी अक्षरों को सही तरीके से स्टोर करने के लिए अमेज़ॅन आरडीएस को कॉन्फ़िगर कैसे करें? वर्तमान में पाठ सभी '????' बन जाता है।चीनी वर्णों को स्टोर करने के लिए अमेज़ॅन आरडीएस mysql को कॉन्फ़िगर करें

मैंने पहले से ही नया पैरामीटर समूह बनाया है और यूआरएफ 8 के रूप में सेट सेट सेट किया है और इंस्टेंस को संशोधित किया है।

mysql> show variables like '%char%'; 
+--------------------------+-------------------------------------------+ 
| Variable_name   | Value          | 
+--------------------------+-------------------------------------------+ 
| character_set_client  | utf8          | 
| character_set_connection | utf8          | 
| character_set_database | utf8          | 
| character_set_filesystem | binary         | 
| character_set_results | utf8          | 
| character_set_server  | utf8          | 
| character_set_system  | utf8          | 
| character_sets_dir  | /rdsdbbin/mysql-5.5.27.R1/share/charsets/ | 
+--------------------------+-------------------------------------------+ 


+----------------------+-----------------+ 
| Variable_name  | Value   | 
+----------------------+-----------------+ 
| collation_connection | utf8_general_ci | 
| collation_database | utf8_general_ci | 
| collation_server  | utf8_unicode_ci | 
+----------------------+-----------------+ 

उत्तर

13

@ पीटर वेंडरबर्ग के आरडीएस को कॉन्फ़िगर करने के उत्तर के बाद, मैं अभी भी चीनी अक्षरों को सही तरीके से स्टोर नहीं कर सकता।

अंत में, मैं (आप mysql workbench या अन्य क्लाइंट उपकरण का उपयोग कर सकते हैं आप की तरह)

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DatabaseName

आरडीएस से कनेक्ट करने के mysql आदेश पंक्ति का उपयोग नोट:

1)। आरडीएस

2) से कनेक्ट करने से पहले आरडीएस के सुरक्षा समूह में सुरक्षा के लिए अपने current ip को जोड़ना याद रखें। आप RDS console पर PASSWORD के साथ संबंधित जानकारी (सुरक्षा समूह, USERNAME ... आदि) प्राप्त कर सकते हैं। PASSWORD उदाहरण के लिए बनाया गया एक होना चाहिए। कंसोल पर HOSTNAMEORIP "एंडपॉइंट" (बंदरगाह के बिना) है।

3)। -पी और पासवर्ड के बीच कोई जगह नहीं है। यह बिल्कुल -pPASSWORD है।

उपकरण आप के साथ सहज महसूस कर रहे के साथ MySQL से कनेक्ट करने के बाद, आप इसे कुछ आदेश देने की आवश्यकता:

# set character set and collation for database 
mysql> alter database DATABASENAME CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
-------- 
# set character set and collation for new records in a table 
mysql> ALTER TABLE TABLENAME CHARACTER SET utf8 COLLATE utf8_unicode_ci; 
# set character set and collation for existing records in a table 
mysql> ALTER TABLE TABLENAME CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

आप कई तालिकाओं अगर इस कार्य को करने के लिए एक स्क्रिप्ट लिखने के लिए कर सकते हैं। हालांकि, यह इस उत्तर के दायरे में नहीं है।

ऊपर के रूप में कॉन्फ़िगर करने के बाद, आपको चीनी वर्णों के साथ रॉक करने में सक्षम होना चाहिए!

2

सुनिश्चित करें कि आप UTF-8 वर्ण सेट का उपयोग कर रहे हैं: नीचे विस्तार की जानकारी कर रहे हैं।

[client] 
default-character-set=utf8 

संबंध के बारे में विस्तृत जानकारी शब्दसमुच्चय आप यहां पा सकते हैं:

वर्णसेट स्थायी रूप से स्थापित करने के लिए सबसे आसान तरीका है निम्नलिखित के साथ अपने ग्राहक my.cnf अद्यतन करने के लिए है http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html

का उपयोग करते समय MySQL एपीआई कार्यों (PHP ग्राहक जैसे) आप क्वेरी

SET NAMES utf8 
भेजकर कनेक्शन चारसेट सेट कर सकते हैं

आप अमेज़न कॉन्फ़िगर कर सकते हैं आरडीएस इस ब्लॉग का पालन करके यूटीएफ -8 चरित्र सेट का उपयोग करने के लिए: http://matthew.mceachen.us/blog/howto-configure-an-amazon-rds-instance-to-use-utf-8-925.html

मुझे उम्मीद है कि इससे मदद मिलती है।

+0

कृपया मेरा अपडेट देखें। यूटीएफ 8 का उपयोग करने के बाद भी इसे काम नहीं मिला। कुछ याद किया जाना चाहिए ... –

+0

आप संग्रहीत डेटा कैसे देख रहे हैं? जीयूआई उपकरण का उपयोग करके या ब्राउज़र का उपयोग करके? डेटा दर्ज करने से पहले सुनिश्चित करें कि आप "नाम सेट यूटीएफ 8" निष्पादित कर रहे हैं; आप इस पोस्ट को भी देख सकते हैं http://mandarin.about.com/od/characters/ss/display_chars.htm –

5

यदि आप आरडीएस का उपयोग कर रहे हैं, तो आप अपने mysql उदाहरण के लिए पैरामीटर समूह सेट अप कर सकते हैं।

  1. एक नया पैरामीटर समूह
  2. रिबूट अपने डाटाबेस उदाहरण नया पैरामीटर समूह के साथ अपने डाटाबेस उदाहरण को संशोधित

हो गया बनाएँ! यह काफी सरल होना चाहिए। आप देखेंगे कि आप वहां कब जाते हैं।

+0

यह ऐसा करने का सबसे आसान तरीका है। और मेरी राय में भी सही तरीका है। – Anton

+1

मैं पुष्टि करता हूं कि यह विधि सबसे आसान है। ओपी ने विवरण नहीं दिया। मैंने जो बदल दिया वह "character_set_ *" और "collation_ *" था। लगभग 8 सेटिंग्स हैं, मैंने उन सभी को "utf8" और "utf8_unicode_ci" में बदल दिया – volatilevar

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