title: UTF-8 Encoding in java, retrieving data from website
body: <p>I'm trying to get data from website which is encoded in UTF-8 and insert them into the database (MYSQL). Database is also encoded in UTF-8. </p>
  
  <p>This is the method I use to download data from specific site.   </p>
  
  <pre><code>public String download(String url) throws java.io.IOException {
          java.io.InputStream s = null;
          java.io.InputStreamReader r = null;
          StringBuilder content = new StringBuilder();
          try {
              s = (java.io.InputStream)new URL(url).getContent();
  
              r = new java.io.InputStreamReader(s, "UTF-8");
  
              char[] buffer = new char[4*1024];
              int n = 0;
              while (n &gt;= 0) {
                  n = r.read(buffer, 0, buffer.length);
                  if (n &gt; 0) {
                      content.append(buffer, 0, n);
                  }
              }
          }
          finally {
              if (r != null) r.close();
              if (s != null) s.close(); 
          }
          return content.toString();
      }
  </code></pre>
  
  <p>If encoding is set to 'UTF-8' (r = new java.io.InputStreamReader(s, "UTF-8"); ) data inserted into database seems to look OK, but when I try to display it, I am getting something like this: C�te d'Ivoire, instead of Côte d'Ivoire.</p>
  
  <p>All my websites are encoded in UTF-8.</p>
  
  <p>Please help.</p>
  
  <p>If encoding is set to 'windows-1252' (r = new java.io.InputStreamReader(s, "windows-1252"); ) everything works fine and I am getting Côte d'Ivoire on my website (), but in java this title looks like 'C?´te d'Ivoire' what breaks other things, such as for example links. What does it mean ? </p>