我正在编写一个关于Java的应用程序,我在GET
库中使用OkHttp
请求来获取网页的一些信息。该网页正在使用ISO-8859-1
。页面顶部有此标记:<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
。
GET
请求的代码如下:
Request request = new Request.Builder()
.url(webpage)
.get()
.addHeader("upgrade-insecure-requests", "1")
.addHeader("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36")
.addHeader("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")
.addHeader("accept-language", "es-ES,es;q=0.9")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
String html = response.body().string();
如果我打印headers
GET
请求的Content-Type: text/html; charset=ISO-8859-1
,我会收到:html
。
€
字符串包含我要用于应用的消息,但有些字符不可读。例如:欧元符号(?
),在终端上打印时显示为问号(utf-8
)。
我想知道我是否可以在#if
enconding中获取这些符号。