title: window.open UTF-8 Issue
body: <p>I have this site:</p>
  
  <pre><code>http://a.b/x – y
  </code></pre>
  
  <p>where the dash is non-ASCII \u2013 or %E2%80%93 in UTF-8 speak.</p>
  
  <p>The following link with UTF-8 works fine:</p>
  
  <pre><code>&lt;a href="http://a.b/x%20%E2%80%93%20y" target="_blank"&gt;True Link&lt;/a&gt;
  </code></pre>
  
  <p>but scripting it with window.open() with the exact same URL gives a 404:</p>
  
  <pre><code>&lt;a href="javascript:void(window.open( 'http://a.b/x%20%E2%80%93%20y','_blank','top=10,left=10,height=900,width=1500,resizable=yes'))"&gt;Raw JS Link&lt;/a&gt;
  </code></pre>
  
  <p>Viewing properties on the error page to see the resulting URL I note the extended dash is replaced with: 
    â??</p>
  
  <p>If I replace the extended dash, and only the extended dash with "\u2013" the link works fine: </p>
  
  <pre><code>&lt;a href="javascript:void(window.open( 'http://a.b/x%20\u2013%20y','_blank','top=10,left=10,height=900,width=1500,resizable=yes'))"&gt;Modified JS Link&lt;/a&gt;
  </code></pre>
  
  <p>and the resulting URL seems to have re-endocded the extended dash back to UTF-8.</p>
  
  <p>With this in mind I tried to decode the UTF-8 encoding and re-encode just the space but this failed with the same error as before:</p>
  
  <pre><code>&lt;a href="javascript:void(window.open( decodeURIComponent('http://a.b/x%20%E2%80%93%20y').split(' ').join('%20'),'_blank','top=10,left=10,height=900,width=1500,resizable=yes'))"&gt;Raw JS Link&lt;/a&gt;
  </code></pre>
  
  <p>I suspect that window.open() is mangling the URL for some reason.</p>
  
  <p>I then went on to try a bunch of different ideas and combinations of decode / encode and even dragged escpae()/unescape() back into use, but to no avail.</p>
  
  <p>The reason for window.open is that I am limited to controlling just the content of the HREF attribute. In this case it's an SSRS expression in a "Go to URL" Action, which SSRS UTF-8 encodes certain characters, so that even with the split(' ') above I actually have to use split(String.fromCharCode(32)).
  However I've stripped everything out into a simple HTML page which is where I am doing my analysis with.</p>
  
  <p>PS: IE8, though user base is IE8+
  PSS: Added missing quote.
  PSS: It looks like this might be an IE8 specific issue.</p>