मैं MySQL में एक रिकॉर्ड डालना चाहता हूं जिसमें एक गैर-ASCII यूनिकोड वर्ण है, लेकिन मैं टर्मिनल पर हूं जो मुझे आसानी से गैर-ASCII वर्ण टाइप करने देता है। मैं MySQL के SQL वाक्यविन्यास में यूनिकोड शाब्दिक से कैसे बचूं?MySQL यूनिकोड अक्षर
उत्तर
देखें: http://bugs.mysql.com/bug.php?id=10199 (बग # 10199: "स्ट्रिंग शाब्दिक के लिए अनुमति दें यूनिकोड एस्केप अनुक्रम।") यह अनुरोध "खोलें" कर दिया गया है 2005
के बाद से http://eng.kaching.com/2009/10/mysql-unicode-escape-sequences.html ही आप निम्न उदाहरण देख सकते हैं , जो वास्तव में काम करता प्रतीत होता है, लेकिन आपको वास्तविक बाइट-बाय-बाइट यूटीएफ 8 एन्कोडिंग जानने की आवश्यकता है:
"आप परिवर्तनीय-लंबाई यूटीएफ -8 प्रतिनिधित्व का भी उपयोग कर सकते हैं (उदाहरण के लिए, उदाहरण के लिए, एक से कॉपी करना utf-8 यूआरएल-एन्कोडेड मान जैसे% E2% 80% 98)। "
mysql> select _utf8 x'E28098';
+---+
| ‘ |
+---+
यह संग्रहीत समारोह एक तरह से पहले से ही UTF-8 एन्कोडिंग पता करने के लिए बिना एक चरित्र में एक शाब्दिक कोड बिंदु बारी करने के साथ, कार्यक्षमता MySQL है (जाहिरा तौर पर) लापता प्रदान करता है।
तो VARCHAR(1)
, अजीब लगता है के बाद से MySQL में UTF8 अक्षरों तक 3 बाइट्स लंबा हो सकता है आकार याद की VARCHAR
पात्रों, नहीं बाइट्स है। फ़ंक्शन इनपुट मान से एक एकल यूटीएफ -8-एन्कोडेड वर्ण देता है।
हेक्साडेसिमल अक्षरों के लिए, 0x
प्रीपेड करें।
DELIMITER $$
DROP FUNCTION IF EXISTS `utf8_char` $$
CREATE FUNCTION `utf8_char`(v smallint unsigned) RETURNS VARCHAR(1) CHARSET utf8
NO SQL
DETERMINISTIC
BEGIN
-- http://stackoverflow.com/questions/3632410/mysql-unicode-literals/30675371#30675371
RETURN CHAR(CASE
WHEN v <= 0x7F THEN v
WHEN v <= 0x7FF THEN 0xC080 | ((v >> 6) << 8) | (v & 0x3F)
WHEN v <= 0xFFFF THEN 0xE08080 | (((v >> 12) & 0x0F) << 16) | (((v >> 6) & 0x3F) << 8) | (v & 0x3F)
ELSE NULL END);
END $$
DELIMITER ;
उदाहरण आउटपुट:
mysql> select utf8_char(8592) AS 'leftwards_arrow';
+-----------------+
| leftwards_arrow |
+-----------------+
| ← |
+-----------------+
1 row in set (0.00 sec)
mysql> select utf8_char(0x2192) AS 'rightwards_arrow_hex';
+----------------------+
| rightwards_arrow_hex |
+----------------------+
| → |
+----------------------+
1 row in set (0.00 sec)
- 1. यूनिकोड स्ट्रिंग अक्षर
- 2. किसी भी यूनिकोड अक्षर से मेल खाते हैं?
- 3. जावा 6 स्ट्रिंग अक्षर में यूनिकोड से बचने में समस्या ...?
- 4. php mysql क्वेरी पहला अक्षर! = [ए-जेड]
- 5. MySQL: यूनिकोड इकाइयों के लिए पूछताछ
- 6. MySQL में यूनिकोड कैसे स्टोर करें?
- 7. अक्षर
- 8. यूनिकोड टेक्स्ट
- 9. पायथन यूआरएल यूनिकोड यूनिकोड
- 10. मिलान केस संवेदी यूनिकोड तार
- 11. यूनिकोड
- 12. यूनिकोड
- 13. यूनिकोड
- 14. यूनिकोड
- 15. यूनिकोड
- 16. यूनिकोड
- 17. यूनिकोड
- 18. यूनिकोड
- 19. 3 अक्षर शब्द
- 20. एक्सएमएल अक्षर?
- 21. आधा अक्षर
- 22. ड्राइव अक्षर
- 23. अक्षरांकीय अक्षर
- 24. KeyEvent अक्षर
- 25. मैं पावरशेल स्ट्रिंग अक्षर में यूनिकोड वर्ण कोड कैसे एन्कोड करूं?
- 26. एक स्ट्रिंग अक्षर में एक पूरक यूनिकोड चरित्र कैसे रखा जाए?
- 27. JSON और अक्षर से बचने
- 28. फ़ॉन्ट फ़ाइल से अक्षर कैसे निकालें?
- 29. परिवर्तित एमएस शब्द उद्धरण और अक्षर लोप
- 30. क्या यूनिकोड
मैं ड्राइव से नीचे मतदाताओं ने, टिप्पणी के बिना, नीचे वोट जवाब है कि स्पष्ट रूप से सही हैं और के यादृच्छिक मूर्खता से चिढ़ परे एक छोटा सा हो रही है स्पष्ट रूप से काम करते हैं। यदि आप उत्तर को समझने के लिए पर्याप्त कुशल नहीं हैं और इसके लिए आपत्ति की व्याख्या करते हैं, तो कृपया इसे कम से कम दिखाएं। –
ठीक काम करता है, धन्यवाद –