title: XmlDocument.Load() method fails to decode € (euro)
body: <p>I have an XML document <code>file.xml</code> which is encoded in Iso-latin-15 (aka Iso-Latin-9)</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="iso-8859-15"?&gt;
  &lt;root xmlns="http://stackoverflow.com/demo"&gt;
    &lt;f&gt;€.txt&lt;/f&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>From my favorite text editor, I can tell this file is correctly encoded in Iso-Latin-15 (it is not UTF-8).</p>
  
  <p>My software is written in C# and wants to extract the element <code>f</code>.</p>
  
  <pre><code>XmlDocument xmlDoc = new XmlDocument();
  xmlDoc.Load("file.xml"); 
  </code></pre>
  
  <p>In real life, I have a XMLResolver to set credentials. But basically, my code is as simple as that. The loading goes smoothly, I don't have any exception raised.</p>
  
  <p>Now, my problem when I extract the value:</p>
  
  <pre><code>//xnsm is the XmlNameSpace manager
  XmlNode n = xmlDoc.SelectSingleNode("//root/f", xnsm); 
  if (n != null)
    String filename = n.InnerText;
  </code></pre>
  
  <p>The Visual Studio debugger displays filename = <code>□.txt</code></p>
  
  <p>It could only be a Visual Studio bug. Unfortunately <code>File.Exists(filename)</code> returns false, whereas the file actually exist.</p>
  
  <p>What's wrong?</p>