无法解析json中的古吉拉特语文本

sshcrbum  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(366)

我开发了一个运行在jbosseap上的web服务。我有一个json,其中包括古吉拉特语,我无法解析的语言。
在分析古吉拉特字体时,输出中会出现问号。我已经搜索,发现我必须改变编码为utf-8,然后它将工作。我不知道这是否是一个正确的解决办法,但不管怎样,我尝试了很多方法,但都失败了。

//code for getting data from JSON
JSONObject obj = object.getJSONObject("data");
obj.optString("Name");

//changed web.xml
<?xml version="1.0" encoding="UTF-8"?>

//changed encoding by this
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
px9o7tmv

px9o7tmv1#

我使用的是springboot2,我认为它与服务器无关,我们只需要添加字符集,因为utf-8我可以从web服务中获取古吉拉特语文本。
样品请求:

@RequestMapping(value = "/comment/locale", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE,
        consumes = MediaType.APPLICATION_JSON_VALUE)
public String addCommentInLocale(@RequestBody Map<String,String> comment) {
    return comment.get("guj");
}

curl 请求:

curl -X POST \
  http://localhost:8080/comment/locale \
  -H 'Accept-Charset: utf-8' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "guj":"દુનિયા"
}'

显示请求和响应的示例图像:

2uluyalo

2uluyalo2#

你需要做以下改变:也许它能帮到你
添加

request.setCharacterEncoding("UTF-8")

打电话之前

getParameter()

相关问题