在快递服务器中以UTF-16编码发送JSON响应

时间:2019-08-09 08:12:56

标签: javascript express utf-8 utf-16

我有一个客户端正在使用UTF-16从服务器读取响应,所以我的普通JSON似乎是用中文写的东西

≻畳捣獥≳琺畲ⱥ琢歯湥㨢攢䩹扨捇佩䩩啉䥺丱䥩䥳剮挵䥃䤶火噘䩃⸹祥灊䍚㙉橉歖䝍㉉㉙楖穎楎坍桊橍ぁ積睫㉎橖楙獉浉礹㉚畆塡桰䝤癬止歬橉楯坎睑橙橚坚㍉㉍硉浙祅䑍穑呏㍁坚橎楉楷坡う橉硯呎す呏㑉䑎祑䍌汊䡥楁橏ㅅ橎㕑積祫䑎㥊種乂歓奆洹睨啙䍤䉰㕈奡娸䉁䍡㉈䥐湘湚獢橦噳䅆Ⱒ產敳≲笺瀢潲楦敬㨢≻畦汬慎敭㨢䄢歮瑩倠牡獡慨≲ⱽ椢楮楴污敓畴≰昺污敳∬潲敬㨢唢䕓≒∬敶楲楦摥㨢牴敵∬捡楴敶㨢牴敵∬楟≤∺搵戰挶扥㌷ㅢ慢〲㌴〹攷扣Ⱒ攢慭汩㨢愢歮瑩歀畯瑮椮≮∬牯慧楮慺楴湯㨢䬢畯瑮䈠≉∬敶楲楦慣楴湯潔敫≮∺㡣敦㙣㍥ㄷ㈳っ㌹搹㤷㔴愱愸㔵搰敥Ⱒ挢敲瑡摥瑁㨢㈢㄰ⴹ㘰㈭吰ㄱ㈺㨴㜲㌮ㄴ≚∬灵慤整䅤≴∺〲㤱〭ⴸ㐰ㅔ㨲㄰ㄺ⸴㔳娸Ⱒ弢癟㨢ⰰ漢杲湡穩瑡潩䥮≤∺搵戰挶扥㌷ㅢ慢〲㌴〹攷捣索}

但是响应是这样的:

{
    "success": true,
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjZmJjYmI0NmQ2MjNjMmQ4YmUyY2IxNyIsIm9yZ2FuaXphdGlvbklkIjoiNWNmYmNiYjU2ZDYyM2MyZDhiZTJjYjE4IiwiaWF0IjoxNTY1MzM3NTcxLCJleHAiOjE1NjUzNDgzNzF9.HEfSjX2TjgyI9oL2f6-ECgABfuJz2vQDwHvR5MGg_aU",
    "user": {
        "profile": {
            "fullName": "Ankit"
        },
        "initialSetup": false,
        "role": "USER",
        "verified": true,
        "active": true,
        "_id": "5cfbcbb46d623c2d8be2cb17",
        "email": "abc@xyz.com",
        "organization": "ABC",
        "createdAt": "2019-06-08T14:52:36.849Z",
        "updatedAt": "2019-07-29T07:14:58.130Z",
        "__v": 0,
        "organizationId": "5cfbcbb56d623c2d8be2cb18"
    }
}

我想知道是否可以发送响应,因此客户端也可以将其作为JSON而不是汉字读取。

1 个答案:

答案 0 :(得分:1)

确保您的服务器为json数据(Content-type: application/json发送了正确的HTTP标头,并将数据编码为utf-8(该内容类型的默认编码),或发送了{{1} }标头,其中包含所使用的字符编码。

如果客户无法正确解释这一点,那是他们的错。不能指望在服务器端解决错误的客户端实现。