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

प्रतिभा के लिए utf8mb4 सेटिंग - काम नहीं कर रहा

सबसे पहले, सुनिश्चित करें कि आपका सर्वर utf8mb4 का उपयोग करने के लिए ठीक से कॉन्फ़िगर किया गया है। इसके बाद ट्यूटोरियल , आपको निम्नलिखित को अपने my.cnf (या my.ini यदि आप विंडोज़ पर हैं) में जोड़ना होगा:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

यह MySQL सर्वर को utf8mb4 का उपयोग करने और क्लाइंट द्वारा सेट किए गए किसी भी एन्कोडिंग को अनदेखा करने के लिए कहता है। उसके बाद, मुझे Talend में MySQL कनेक्शन पर कोई अतिरिक्त गुण सेट करने की आवश्यकता नहीं थी। मैंने इस क्वेरी को टैलेंड में इसके द्वारा सेट किए गए एन्कोडिंग की जांच करने के लिए निष्पादित किया है:

SHOW VARIABLES 
WHERE Variable_name LIKE 'character\\_set\\_%' OR Variable_name LIKE 'collation%'

और यह वापस आ गया:

|=-----------------------+-----------------=|
|Variable_Name           |Value             |
|=-----------------------+-----------------=|
|character_set_client    |utf8mb4           |
|character_set_connection|utf8mb4           |
|character_set_database  |utf8mb4           |
|character_set_filesystem|binary            |
|character_set_results   |                  |
|character_set_server    |utf8mb4           |
|character_set_system    |utf8              |
|collation_connection    |utf8mb4_unicode_ci|
|collation_database      |utf8mb4_unicode_ci|
|collation_server        |utf8mb4_unicode_ci|
'------------------------+------------------'

मल के ढेर को सम्मिलित करने के लिए निम्नलिखित परीक्षण कार्य करता है:

अपडेट करें

Talend 6.3.1 में मूल MySQL घटकों का उपयोग करके, आपको mysql-connector-java-5.1.30-bin.jar मिलता है , जो सर्वर द्वारा उपयोग किए गए utf8mb4 का स्वचालित रूप से पता लगाने के लिए माना जाता है, लेकिन किसी कारण (बग?) के लिए यह ऐसा नहीं कर रहा है। nofollow noreferrer noopener" href="https://dev.mysql.com/downloads/file/?id=474258">कनेक्टर (mysql-connector-java-5.1.45-bin.jar ), मैंने इन अतिरिक्त मापदंडों को tJDBCConnection . पर सेट करके काम किया है घटक :

useUnicode=true&characterEncoding=utf-8

(भले ही मैं utf-8 निर्दिष्ट कर रहा हूं, डॉक्टर का कहना है कि यह इसे utf8mb4 के रूप में मानेगा)

यहाँ मेरी नौकरी अब कैसी दिखती है:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP अंतिम लॉग इन स्क्रिप्ट

  2. mysql innodb बफर पूल को कैसे साफ़/फ्लश करें?

  3. MySQL में दो डेटाटाइम्स के बीच माइनस ऑपरेटर का व्यवहार क्या है?

  4. MySQL कुछ ऑटो वेतन वृद्धि आईडी क्यों छोड़ता है?

  5. mysql डेटाबेस में डालने के लिए PHP का उपयोग करके XML डेटा को पार्स करना