मेरा JSON garbled क्यों दिखता है? Unicode Encoding Fixes
2024-12-01
API response paste करने पर text टूट जाता है? अक्सर JSON सही होता है—RFC 8259 के अनुसार systems के बीच JSON transport UTF-8 होना चाहिए; समस्या आमतौर पर decode side पर होती है.
JSON और Unicode
Strings में raw Unicode और \uXXXX escapes दोनों valid हैं; parse होने पर वही character मिलते हैं.
RFC 8259 के अनुसार systems के बीच JSON exchange के लिए UTF-8 जरूरी है; local files भी UTF-8 में रखें.
{
"greeting": "Hello",
"escaped": "\u0048\u0065\u006c\u006c\u006f",
"emoji": "🎉"
}Common symptoms
? या � दिखना अक्सर UTF-8 bytes को Latin-1/GBK की तरह decode करने से होता है। DB में सही और export में खराब होना charset mismatch दर्शाता है.
\u escapes
कुछ serializers ASCII-safe escapes emit करते हैं; parsed data फिर भी सही Unicode रहती है। Fix transport encoding करें, escapes नहीं.
HTTP Content-Type
application/json में IANA charset parameter defined नहीं है; फिर भी RFC 8259 के हिसाब से bytes UTF-8 होनी चाहिए.
गलत server headers को ठीक करें, client-side workaround पर निर्भर न रहें.
BOM pitfalls
RFC 8259 networked JSON में BOM भेजने से मना करता है। Parsers कभी-कभी ignore करते हैं, पर इस पर भरोसा न करें.
Local .json files UTF-8 बिना BOM में save करें और hidden characters पर ध्यान दें.
Checklist
Bytes UTF-8 हैं या नहीं देखें, editor encoding verify करें, online parse check करें, फिर pipeline में consumer को ठीक करें.