title: "&nbsp;" in JSX file being translated to "Â" in some browsers
body: <p>Presumably related to UTF8 conversion, but I have no idea where or why the conversion is taking place or how to disable it:  if I have a JSX file that includes "<code>&amp;nbsp;</code>" in a text XML node, then when that node is rendered <em>in some browsers</em> the result is "Â" rather than the non-breaking space desired.  </p>
  
  <p>Research suggests that the direct cause of this is a unicode non-breaking space <em>character</em>, U+00A0 (rather than the <em>entity</em> I'm trying to use), is being translated to UTF-8 and giving the resulting byte sequence 0xC2 0x00, and then being interpreted as ISO-8859-1.  What I'd like to do is prevent this translation happening.</p>
  
  <p>This doesn't seem to happen in desktop browsers at all, but the app I'm developing is an Apache Cordova app, and when the app is installed on a mobile the problem occurs, so either its the mobile browser itself, some aspect of using a WebView rather than a standalone browser, or part of the Cordova compilation process that's causing it.</p>
  
  <p>My build process also uses webpack and babel, but I don't seem to have any settings relating to character set handling that might be relevant to this.</p>
  
  <p>Example code that shows the fault:</p>
  
  <pre><code>function startApp () {
      ReactDOM.render (&lt;span&gt;&amp;nbsp;&lt;/span&gt;, document.getElementById('app'));
  }
  if (typeof document !== "undefined") document.addEventListener ("deviceready", startApp, false);
  </code></pre>
  
  <p>HTML file:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  
  &lt;head&gt;
      &lt;meta http-equiv="Content-Security-Policy" content="
          default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval' http://www.randomtext.me;
          script-src 'self' data: gap: 'unsafe-inline' 'unsafe-eval' connect.facebook.net;
          style-src 'self' 'unsafe-inline';
          media-src *;
          img-src *;
          frame-src  'self' gap: *.facebook.com;
          connect-src * data:;"&gt;
      &lt;meta name="format-detection" content="telephone=no"&gt;
      &lt;meta name="msapplication-tap-highlight" content="no"&gt;
      &lt;meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"&gt;
      &lt;title&gt;Hello World&lt;/title&gt;
      &lt;link rel="stylesheet" type="text/css" href="css/font-awesome.min.css"&gt;
      &lt;link rel="stylesheet" type="text/css" href="css/swiper.min.css"&gt;
      &lt;style type="text/css"&gt;
          @font-face {
              font-family: "OpenSans-Regular";
              src: url("fonts/OpenSans-Regular.ttf") format("truetype");
          }
          @font-face {
              font-family: "OpenSans-Italic";
              src: url("fonts/OpenSans-Italic.ttf") format("truetype");
          }
          @font-face {
              font-family: "OpenSansCondensed-Light";
              src: url("fonts/OpenSansCondensed-Light.ttf") format("truetype");
          }
          @font-face {
              font-family: "OstrichSans-Medium";
              src: url("fonts/OstrichSans-Medium.otf") format("truetype");
          }
      &lt;/style&gt;
  &lt;/head&gt;
  
  &lt;body&gt;&lt;div class="Fill" id="app"&gt;&lt;/div&gt;&lt;/body&gt;
  
  &lt;script type="text/javascript" src="js/styles.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="cordova.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="js/app.js"&gt;&lt;/script&gt;
  
  &lt;/html&gt;
  </code></pre>
  
  <h2>Update</h2>
  
  <p>I spotted <a href="http://chromakode.com/post/react-utf8" rel="nofollow noreferrer">this blog post</a> where somebody else has experienced this.  The suggested solution is using:</p>
  
  <pre><code>&lt;meta charset="utf-8"&gt;
  </code></pre>
  
  <p>in index.html.  This <em>would</em> work to solve the problem as I describe it, but I am also interested in a solution that won't prevent rendering of existing documents that use ISO-8859-1 as their encoding.</p>