我通过Java获取网站源代码并将其分配给字符串。但是,当我看到那个字符串的内容有ara?而不是ç,ş,İ,ğ。希望你能帮帮我。
答案 0 :(得分:1)
DataInputStream.readLine
只能读取latin1编码的文本。您想要的字符不在latin1中,因此页面必须具有一些不同的编码,例如UTF-8。
假设页面以UTF-8编码,如果您用声明的方式替换声明的部分并使用以下内容初始化变量in
,则可以读取它:
Reader in = null;
try {
in = new BufferedReader(new InputStreamReader(u.getInputStream(), "UTF-8"));
如果您事先不知道页面编码,则可以使用URLConnection.getContentEncoding()
方法查找。此方法返回在HTTP标头Content-Type
中声明的编码。如果内容类型没有编码,您只需要猜测。