簡體   English   中英

Java String.valueOf(jsonArray) 將 jsonArray 中的 UTF-8 編碼內容變成問號

[英]Java String.valueOf(jsonArray) turns UTF-8 encoded content from jsonArray into question marks

我有這個包含 utf-8 編碼字符串的 json 數組(JSONArray 類型):

    [{
      "success":true,
      "data":[
         {"moduleTitle":"تست",
          "title":"تست دو"}
       ],
       "status":200
    }]

然后我想得到它的字符串值。

String s = String.valueOf(jsonArray);

但是 utf-8 字符串將變成這樣的問號:

"[{ "成功":true, "數據":[ {"moduleTitle":"???", "title":"??? ??"} ], "狀態":200 }]"

我怎樣才能讓它正確顯示字符串?

您正在使用 JVM 的默認字符集轉換數據,UTF-8 字符集很可能不在您的服務器或本地。

嘗試使用這個:

String s = String.valueOf(jsonArray);
String string2 = new String(s.getBytes(),"UTF-8");
return new ResponseEntity<String>(string2, HttpStatus.OK);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM