MySQL 8.0.19 से पहले, आप जिस समस्या का सामना कर रहे हैं वह मौजूद नहीं थी। binary-as-hex
क्लाइंट विकल्प डिफ़ॉल्ट रूप से MySQL 8.0.19 से सक्षम है।
status
चलाएं या \s
MySQL में। आप बाइनरी डेटा के बारे में एक लाइन देखेंगे। यदि इसका उल्लेख हेक्साडेसिमल के रूप में किया गया है, तो CHAR()
. जैसे कार्यों के आउटपुट और UNHEX()
सामान्य टेक्स्ट के बजाय हेक्साडेसिमल के रूप में प्रदर्शित होगा।
इससे बचने के लिए आप CHAR()
. के USING charset क्लॉज का इस्तेमाल कर सकते हैं ।
mysql> SELECT CHAR(97);
+--------------------+
| CHAR(97) |
+--------------------+
| 0x61 |
+--------------------+
1 row in set (0.00 sec)
mysql> SELECT CHAR(97 USING utf8mb4);
+------------------------+
| CHAR(97 USING utf8mb4) |
+------------------------+
| a |
+------------------------+
1 row in set (0.00 sec)
या, आप --skip-binary-as-hex
. का उपयोग कर सकते हैं . विंडोज़ में अनुसरण करने के चरण हैं:
-
ओपन कमांड प्रॉम्प्ट।
-
निर्देशिका बदलें। मेरे मामले में आदेश था:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
-
भागो
mysql -u root -p --skip-binary-as-hex
-
पासवर्ड दर्ज करें।
-
अब,
CHAR()
. के आउटपुट समारोह वैसा ही होगा जैसा आप उम्मीद करते हैं।
नोट :--skip-binary-as-hex
विधि तब तक काम करती है जब तक आप MySQL से बाहर नहीं निकल जाते। आपको --skip-binary-as-hex
. का उपयोग करने की आवश्यकता है विधि हर बार जब आप MySQL खोलते हैं तो हेक्साडेसिमल मान नहीं दिखाए जाएंगे।
अधिक जानकारी के लिए आप इन लिंक्स को देख सकते हैं:
- https://dev.mysql. com/doc/refman/8.0/hi/string-functions.html#function_char
- https://dev.mysql.com/doc/refman/8.0/hi/mysql-command-options.html#option_mysql_binary-as-hex