Java String.valueOf(jsonArray) 将 jsonArray 中的 UTF-8 编码内容变成问号 [英] Java String.valueOf(jsonArray) turns UTF-8 encoded content from jsonArray into question marks
本文介绍了Java String.valueOf(jsonArray) 将 jsonArray 中的 UTF-8 编码内容变成问号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含 utf-8 编码字符串的 json 数组(JSONArray 类型):
I have this json array (of type JSONArray) containing utf-8 encoded strings:
[{
"success":true,
"data":[
{"moduleTitle":"تست",
"title":"تست دو"}
],
"status":200
}]
然后我想获取它的字符串值.
And then I would like to get the string value of it.
String s = String.valueOf(jsonArray);
但是utf-8字符串会变成这样的问号:
but the utf-8 strings will be turned into question marks like this:
"[{成功":真,数据":[{模块标题":???",标题":?????"}],状态":200}]"
"[{ "success":true, "data":[ {"moduleTitle":"???", "title":"??? ??"} ], "status":200 }]"
如何让它正确显示字符串?
how can I make it show the strings correctly?
推荐答案
您正在使用 JVM 的默认字符集转换数据,UTF-8 字符集很可能不在您的服务器或本地.
You are converting the data using the JVM's default charset, UTF-8 charset most probably is not on your server or local.
试试这个:
String s = String.valueOf(jsonArray);
String string2 = new String(s.getBytes(),"UTF-8");
return new ResponseEntity<String>(string2, HttpStatus.OK);
这篇关于Java String.valueOf(jsonArray) 将 jsonArray 中的 UTF-8 编码内容变成问号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文