यह वर्ण एन्कोडिंग सेटिंग्स में अंतर के कारण सबसे अधिक संभावना है। यह एक दो जगहों पर प्रभावी हो सकता है। मैं आपको सलाह दूंगा कि आप दोनों सर्वरों में लॉग इन करें और करें:
mysql> show variables like '%character%';
+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\Servers\MySQL\MySQL_5_1_36\share\charsets\ |
+--------------------------+-----------------------------------------------+
8 rows in set (0.00 sec)
देखें कि क्या आपको वहां कोई अंतर दिखाई देता है। उदाहरण के लिए, यदि नए सर्वर के लिए डिफ़ॉल्ट कनेक्शन कैरेक्टरसेट अलग है, तो आप ये परिणाम प्राप्त कर सकते हैं।
आपको कॉलम के लिए वर्ण एन्कोडिंग सेटिंग भी सुनिश्चित करनी चाहिए:एक SHOW CREATE TABLE <table-name>
करें और जांचें कि क्या वर्ण सेट अभी भी स्तंभ स्तर पर समान हैंmysql>
संपादित करें वैकल्पिक रूप से, जैसा कि मार्टिन ने टिप्पणियों में बताया, आप एक एसक्यूएल डंप से निपट सकते हैं जो एक एन्कोडिंग में एन्कोड किया गया है जिसे आपने अनुमान नहीं लगाया था। यहां उस पर कुछ और जानकारी दी गई है:http://dev.mysql.com/doc/refman/5.1/hi/mysqldump.html#option_mysqldump_default-character-set . इस मामले में आप iconv (http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html )