मेरा 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 को ठीक करें.