title: Pound symbol issue in mailto: link
body: <p>In my ASP.NET MVC application I am creating a <code>mailto</code> link where the subject and body contain a pound £ symbol. </p>
  
  <p>This appears to work in most cases but some users with Outlook 2003/Chrome is reporting that when clicking the link the pound symbol is showing as  <code>Â£</code>, which looks to me like it is interpreting a UTF-8 string as ascii/windows-1252/whatever etc. </p>
  
  <p>I'm not sure how I should encode this. Currently I am using the following:</p>
  
  <pre><code>public static HtmlString EncodeMailTo(this HtmlHelper hlp, string val)
  {
    var encoded = HttpUtility.UrlEncode(val).Replace("+", "%20");
    return new HtmlString(encoded);
  }
  </code></pre>
  
  <p>and in the view:</p>
  
  <pre><code>&lt;a href="mailto:?subject=@(Html.EncodeMailTo(Model.Offer.Heading))&amp;body=@(Html.EncodeMailTo(Model.Offer.Requirement))" &gt;
      Link
  &lt;/a&gt;
  </code></pre>
  
  <p>Is there a way that I can convert this to a different encoding (e.g. Windows-1252) before UrlEncoding it? I've tried converting the encoding of the string and then passing this and the encoding used into UrlEncode but get ? instead of the £ symbols then.</p>