I ended up using a poor man's HTML encoder I found somewhere online. This uses .NET's HtmlEncode function and then takes all "High ASCII" characters and converts them to the HTML equivalent &# 000;. Sloppy but effective.
public static string HtmlEncode(this string input)
{
char[] chars = HttpUtility.HtmlEncode(input).ToCharArray();
StringBuilder result = new StringBuilder(input.Length + (int)(input.Length * 0.1));
foreach (char c in chars)
{
int value = Convert.ToInt32(c);
if (value > 127)
result.AppendFormat("&#{0};", value);
else
result.Append(c);
}
return result.ToString();
}