我尝试在Big5中使用帖子数据并获得类似内容:
//app is a valid reference to a Microsoft.Office.Interop.Excel.Application instance
app.ActiveWindow.ScrollRow++;
java语句如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="zh-TW">
如何设置charset以发送数据以获得响应?
答案 0 :(得分:0)
从Jsoup 1.8.3开始,postDataCharset()
设置数据发布的字符集。在解析数据读取时,此charset不会被重用。
相反,Jsoup试图以某种方式找到指定字符集的元http-equiv。如果找不到,则默认情况下该字符集为UTF-8。在你的情况下,这个假设是错误的。
要解决此问题,请不要让Jsoup 猜测数据编码。以下是如何做到这一点:
// Let Jsoup fetch the data
Response res = Jsoup.connect(param) //
.timeout(30000) //
.postDataCharset("Big5") //
.data("syear", "104") //
.data("smonth", "6") //
.data("sday", "30") //
.data("eyear", "104") //
.data("emonth", "7") //
.data("eday", "17") //
.data("SectNO", "不限科別") //
.data("EmpNO", "不限醫生") //
.execute();
// Now, we tell it explicitly which encoding to use
Document docs = Jsoup.parse(
new String(res.bodyAsBytes(), "Big5"), //
param //
);