我正在使用 Retrofit2 和 GET 方法来获取内容并将其显示在 TextView 中。在我的 json 内容中有一些特殊字符,如 ñ,当我收到响应并将其显示在 Textview 或 Log 中时,它会像这样显示。
我尝试添加具有不同内容类型的页眉,但没有成功。
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
retrofit = new Retrofit.Builder()
.baseUrl(API_LINKS.Base_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
这里是 GET 方法
@GET
Call<List<SpeakersData>> GetSpeakers(@Url String url);
这里是扬声器模型类。
public class SpeakersData{
@SerializedName("speaker_title")
@Expose
private String speaker_title;
@SerializedName("speaker_email")
@Expose
private String speaker_email;
@SerializedName("speaker_website")
@Expose
private String speaker_website;
它是 utf-8 或任何我不知道的解析问题。如果有人帮助我,我将不胜感激。
最佳答案
我认为问题在于您向他们展示的方式。由于这些字符不在普通字符集中,那么您可以借助 HTML
标签显示它们,如下所示:
myTextView.setText(Html.fromHtml(str));
让我知道结果。
关于android - 如何使用 Retrofit 2 解析特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54333029/