title: How to deal with java encoding problems (especially xml)?
body: <p>I searched about java and encoding and I did not found a resource explaining how to deal with commons problems that arise in java when encoding and decoding strings. 
  There are a lot of specific questions about single errors but I did not found a wide response/reference guide to the problem.
  The main questions are:</p>
  
  <p>What is String encoding?</p>
  
  <p>Why in Java can I read files with wrong charatecters?</p>
  
  <p>Why when dealing with xml I got Invalid byte x of y-byte UTF-8 sequence Exception? What are the main causes and how to avoid them?</p>