gpt4 book ai didi

android - Volley StringRequest 响应更改撇号的值(' 更改为 â)

转载 作者:行者123 更新时间:2023-12-04 08:03:22 24 4
gpt4 key购买 nike

api 调用发送了正确的响应,但是当我从 Volley StringRequest 得到响应时,撇号符号更改为不可读的字符。
我用来进行 api 调用的代码是这样的:

private fun makeRequest(
method: Int,
params: Map<String, String>,
auth: Boolean,
token: String = "null",
logout: Boolean = false
) {
// Creating a StringRequest
val req = object : StringRequest(method, url, { res ->
// Creating JSON object from the response string
// and passing it to result: (JSONObject) -> Unit function
result(res.toString().trim())
}, { volleyError: VolleyError? ->
// Getting error message and passing it
// to val error: (String) -> Unit function
if (!logout) {
if (!sessionExpire) {
if (volleyError!!.networkResponse != null) {
handleError(volleyError)
} else {
HelperService().displayToast(
context!!,
context!!.resources.getString(string.internetError)
)
}
}

}
error?.invoke()
}) {
// Overriding getParams() to pass our parameters
override fun getParams(): Map<String, String> {
if (method == Constants.GET) {
return super.getParams();
} else {
return params
}
}

override fun getHeaders(): MutableMap<String, String> {
if (auth) {
val headers = HashMap<String, String>()
headers["authorization"] = "Token " + token
return headers;
} else {
return super.getHeaders();
}

}
}
req.retryPolicy = DefaultRetryPolicy(
60000,
0,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
);
// Adding request to the queue
volley.add(req)
}
附上回复图片。第一个是来自网络的响应,它显示正常。第二个来自Android。名称中使用了两种类型的撇号。我需要他们两个都工作。请帮忙。
更新:替换有效,但请推荐更好的解决方案。所以,我不会有这种类型的问题作为回应。
           val data = res.toString().trim().replace("â\u0080\u0098","'")
Response from web
Response from android

最佳答案

' 的转义序列是 &apos .
尝试

response.replace("'", "&apos;")
有效的代码
  val data = res.toString().trim().replace("â\u0080\u0098","'")

关于android - Volley StringRequest 响应更改撇号的值(' 更改为 â),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66332647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com