Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सी # mysql के साथ परेशानी हो रही है:पंक्ति 1 पर कॉलम के लिए गलत स्ट्रिंग मान कोड 1366

\xE4\xB8\xAD\xE6\x96\x87 中文 . के लिए हेक्स है ("चीनी भाषा")।

MySQL में, यह utf8 . के साथ काम करेगा या utf8mb4 . हालांकि, चूंकि कई चीनी अक्षर हैं जिन्हें 4 बाइट्स की आवश्यकता होती है, आप utf8mb4 का उपयोग करने के लिए सही हैं। इस बीच, COLLATION (उदाहरण के लिए, utf8mb4_unicode_ci) प्रश्न के लिए कोई मायने नहीं रखता।

व्यक्तिगत कॉलम का वर्णसेट महत्वपूर्ण है, डेटाबेस का नहीं। और 191 कीचड़ की जरूरत केवल 5.5 और 5.6 में है। कृपया SHOW CREATE TABLE provide प्रदान करें ।

कनेक्शन पैरामीटर स्थापित करने का दूसरा तरीका SET NAMES utf8mb4 जारी करना है कनेक्ट करने के तुरंत बाद। (यह पसंद नहीं किया जाता है, लेकिन कोशिश करने लायक हो सकता है। यह उल्लिखित गोर्म मुद्दे के लिए एक समाधान होना चाहिए।)

क्या आपको कनेक्ट करते समय त्रुटि संदेश मिल रहा है? या कोई विशेष प्रश्न जारी करते समय? यदि ऐसा है, तो कृपया वह प्रश्न प्रदान करें।

जांचें कि skip-character-set-client-handshake उपयोग नहीं किया जा रहा है।

https://stackoverflow.com/a/38363567/1766831

परिशिष्ट चूंकि आपने एक संग्रहीत कार्यविधि का उल्लेख किया है, मेरा सुझाव है कि आप SHOW CREATE PROCEDURE यह देखने के लिए कि इसे किस वर्णसेट के साथ बनाया गया था। क्या हो सकता है इसका एक उदाहरण यहां दिया गया है:

mysql> SET NAMES latin1;
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE PROCEDURE x () BEGIN END ;
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW CREATE PROCEDURE x \G
*************************** 1. row ***************************
           Procedure: x
            sql_mode: NO_ENGINE_SUBSTITUTION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `x`()
BEGIN END
character_set_client: latin1
collation_connection: latin1_swedish_ci
  Database Collation: utf8mb4_unicode_520_ci
1 row in set (0.00 sec)

mysql> DROP PROCEDURE x;
Query OK, 0 rows affected (0.01 sec)

बनाम:

mysql> SET NAMES utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE PROCEDURE x () BEGIN END ;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW CREATE PROCEDURE x \G
*************************** 1. row ***************************
           Procedure: x
            sql_mode: NO_ENGINE_SUBSTITUTION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `x`()
BEGIN END
character_set_client: utf8mb4
collation_connection: utf8mb4_general_ci
  Database Collation: utf8mb4_unicode_520_ci
1 row in set (0.00 sec)

अगर आपको अपने PROCEDURE . पर utf8mb4 दिखाई नहीं देता है और FUNCTION घोषणाएं, उनका पुनर्निर्माण करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql सीमा 1 के साथ जुड़ें

  2. Oracle डाटाबेस लिंक - MySQL समतुल्य?

  3. उलटी गिनती टाइमर-php+mysql+js

  4. अद्यतन विवरण में कास्ट का उपयोग करते समय mysql त्रुटि 1292

  5. पीएचपी:mysql वी mysqli वी pdo