title: illegal xml character on SQL Insert
body: <p>I am trying to insert the following string into an sql xml field</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Response&gt; 
      &lt;Ip&gt;x.x.x.x&lt;/Ip&gt;
      &lt;CountryCode&gt;CA&lt;/CountryCode&gt; 
      &lt;CountryName&gt;Canada&lt;/CountryName&gt;
      &lt;RegionCode&gt;QC&lt;/RegionCode&gt; 
      &lt;RegionName&gt;Québec&lt;/RegionName&gt; 
      &lt;City&gt;Dorval&lt;/City&gt; 
      &lt;ZipCode&gt;h9p1j3&lt;/ZipCode&gt; 
      &lt;Latitude&gt;45.45000076293945&lt;/Latitude&gt; 
      &lt;Longitude&gt;-73.75&lt;/Longitude&gt; 
      &lt;MetroCode&gt;&lt;/MetroCode&gt; 
      &lt;AreaCode&gt;&lt;/AreaCode&gt; 
  &lt;/Response&gt;
  </code></pre>
  
  <p>The insert code looks like:</p>
  
  <pre><code>INSERT 
      INTO Traffic(... , xmlGeoLocation, ...)
      VALUES (
          ...
          &lt;!--- 
          &lt;cfqueryparam CFSQLType="cf_sql_varchar" value="#xmlGeoLocation#"&gt;, 
          ---&gt;
          '#xmlGeoLocation#',
  
          ...
          )
  </code></pre>
  
  <p>Two bad things happen:</p>
  
  <ol>
  <li><p>Québec gets turned into QuÃ©bec</p></li>
  <li><p>I get an error saying  <code>[Macromedia][SQLServer JDBC Driver][SQLServer]XML parsing: line 8, character 16, illegal xml character</code></p></li>
  </ol>
  
  <p>UPDATE:</p>
  
  <p>The incoming test stream is mostly single byte characters.</p>
  
  <p>The é is a two byte character. In particular C3A9</p>
  
  <p>Also I don't have control over the incoming xml stream</p>