Я загружаю онлайн-текст, который могут загружать пользователи, поэтому тексты могут быть UTF-8, ISO-8859-1 и т. д.
Проблема в том, что я не знаю, какую кодировку используют пользователи, и если пользователь загрузил текст UTF-8, он работает отлично, но если пользователь загрузил текст ISO-8859-1 с акцентами (á é и т. .) эти символы отображаются неправильно.
Я пытался принудительно закодировать текст в UTF-8, но это не работает во всех случаях (buffer.toString("UTF-8"))
это мой код:
javaUrl = new URL(URLParser.parse(textResource.getUrlStr()));
connection = javaUrl.openConnection();
connection.setConnectTimeout(2000);
connection.setReadTimeout(2000);
InputStream input = new BufferedInputStream(connection.getInputStream());
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
try{
byte [] data = new byte [1024];
while ((nRead = input.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
total = buffer.toString();
}finally{
input.close();
buffer.close();
}