Por que esse BufferedReader não lê no formato UTF-8 especificado?

Estou copiando alguns sites e alguns deles contêm caracteres não latinos e caracteres especiais como para cotações em vez de" e para apóstrofos em vez de'.

Aqui está a bola curva real ...

Tenho o texto relevante impresso no console. Tudo codifica bem quando eu o executo no meu IDE (Netbeans). Mas quando eu o executo no meu computador“I Need Your Help” é impresso como:ΓÇ£I Need Your HelpΓÇ¥ ...

Antes que alguém diga que preciso definir meuJAVA_TOOL_OPTIONS Variável de ambiente para-Dfile.encoding=UTF8 deixe-me dizer que já fiz isso e isso ainda é um problema. Além disso, eu não deveria especificar a codificação para o leitor em buffer"UTF-8" substituir isso de qualquer maneira?

Aqui estão algumas informações:

Estou usando o JDK 7 com a plataforma de destino como 1.7 Estou executando em uma máquina com Windows 7 para todas as máquinas em que estou executando e com o mesmo problema (alguns não têm oJAVA_TOOL_OPTIONS set, mas isso não parece fazer nenhuma diferença Acho que a codificação padrão usada é Cp1252 ...

Aqui está o meu código. Deixe-me saber se você precisa de mais informações. Obrigado

/**
 * Using the given url, this method creates and returns the buffered reader for that url
 *
 * @param urlString
 * @return
 * @throws MalformedURLException
 * @throws IOException
 */
public synchronized static BufferedReader getBufferedReader(String urlString) throws MalformedURLException, IOException {
  URL url = new URL(urlString);
  InputStream is = url.openStream();
  BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
  return br;
}

questionAnswers(6)

yourAnswerToTheQuestion