首页 > 解决方案 > 在Textview中显示中文文本的问题

问题描述

我需要将 Api(GET) 中的中文文本显示到文本视图中。

提取文本的字段是-> "deliveryFirstName": "庄欣瑜"。

文字“deliveryFirstName”:“庄欣瑜”仅在邮递员中正确显示。

但在 Android Studio 日志中,显示为 "deliveryFirstName": "è欣ç"

但是当我在 textview 中显示这个时,我得到的是一些像这样的框。

后端使用的字符集是 utf8mb4,排序规则是 utf8_mb4_collat​​ion_ci。

我试过使用

Html.fromHtml()

标签: javaandroidandroid-studiocharacter-encoding

解决方案


我终于得到了解决方案。只需确保“UTF-8”编码的刺痛是我从凌空得到的响应。这解决了问题。

public class Utf8JSONRequest extends JsonRequest<JSONArray> {
public Utf8JSONRequest(int method, String url, JSONArray requestJSON, Response.Listener<JSONArray> listener, Response.ErrorListener errorListener) {
    super(method, url, String.valueOf(requestJSON), listener, errorListener);
}

@Override
protected Response<JSONArray> parseNetworkResponse(NetworkResponse networkResponse) {
    try {
        String jsonString = new String(networkResponse.data, "UTF-8");
        return Response.success(new JSONArray(jsonString),
                HttpHeaderParser.parseCacheHeaders(networkResponse));
    } catch (UnsupportedEncodingException e) {
        return Response.error(new ParseError(e));
    } catch (JSONException je) {
        return Response.error(new ParseError(je));
    }
}

}


推荐阅读