En este caso, no es tan visible como en mi caso. Hoy traté de copiar datos del portapapeles, pero había algunos caracteres Unicode. Los datos que obtuve fueron como si quisiera leer un archivo codificado en UTF-8 en la codificación de Windows-1250 (codificación local en mi Windows).
Parece que su caso es el mismo. Si guarda los datos html (recuerde poner espacio no rompible = 0xa0 después del carácter Â, no un espacio estándar) en Windows-1252 (o Windows-1250; ambos funcionan). A continuación, abra este archivo como un archivo UTF-8 y verá lo que debería ser.
Para mi otro proyecto hice una función que corrige datos con codificación corrupta.
En este caso simple conversión debe ser suficiente:
byte[] data = Encoding.Default.GetBytes(text);
text = Encoding.UTF8.GetString(data);
Mi función original es un poco más compleja y contiene pruebas para asegurarse de que los datos no están dañados ...
public static bool FixMisencodedUTF8(ref string text, Encoding encoding)
{
if (string.IsNullOrEmpty(text))
return false;
byte[] data = encoding.GetBytes(text);
// there should not be any character outside source encoding
string newStr = encoding.GetString(data);
if (!string.Equals(text, newStr)) // if there is any character "outside"
return false; // leave, the input is in a different encoding
if (IsValidUtf8(data) == 0) // test data to be valid UTF-8 byte sequence
return false; // if not, can not convert to UTF-8
text = Encoding.UTF8.GetString(data);
return true;
}
I sé que este no es el mejor (o la solución correcta) pero no encontré otra manera de cómo corregir la entrada ...
EDITAR: (20 de julio 2017)
parece que el Microsoft ya encontró este error y ahora funciona correctamente. No estoy seguro de si el problema está en algunos marcos, pero estoy seguro, que ahora la aplicación usa un marco diferente a tiempo, cuando escribí la respuesta. (Ahora es 4.5, la versión anterior era de 2,0)
(Ahora todo mi código falla en el análisis de los datos Existe otro problema para determinar el comportamiento correcto para su aplicación con arreglo ya APLICADA y sin solución.).