Tôi đang cố gắng để lấy dữ liệu từ http://api.freebase.com/api/trans/raw/m/0h47Java mã UTF-8 không được đặt để URLConnection
Như bạn có thể thấy trong văn bản có hát như thế này: /ælˈdʒɪəriə/
.
Khi tôi cố gắng để có được nguồn từ trang tôi nhận được văn bản với hát như ú
, vv
Cho đến nay tôi đã thử với đoạn mã sau:
urlConnection.setRequestProperty("Accept-Charset", "UTF-8");
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
Tôi đang làm gì sai?
toàn bộ mã của tôi:
URL url = null;
URLConnection urlConn = null;
DataInputStream input = null;
try {
url = new URL("http://api.freebase.com/api/trans/raw/m/0h47");
} catch (MalformedURLException e) {e.printStackTrace();}
try {
urlConn = url.openConnection();
} catch (IOException e) { e.printStackTrace(); }
urlConn.setRequestProperty("Accept-Charset", "UTF-8");
urlConn.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
urlConn.setDoInput(true);
urlConn.setUseCaches(false);
StringBuffer strBseznam = new StringBuffer();
if (strBseznam.length() > 0)
strBseznam.deleteCharAt(strBseznam.length() - 1);
try {
input = new DataInputStream(urlConn.getInputStream());
} catch (IOException e) { e.printStackTrace(); }
String str = "";
StringBuffer strB = new StringBuffer();
strB.setLength(0);
try {
while (null != ((str = input.readLine())))
{
strB.append(str);
}
input.close();
} catch (IOException e) { e.printStackTrace(); }
Có vẻ như điều duy nhất sẽ hoạt động. Cảm ơn bạn. – Ales
Tôi có cùng một vấn đề xin vui lòng giúp đỡ. m.appendTail (m); dòng này báo lỗi cho tôi. –
@ ersyn61: Xin lỗi, đã sửa; lẽ ra phải là 'm.appendTail (sb);'. –