Entontré esta posible solución:
Código:
query = DecodeUtf8("lápiz éóáÃ*úñ");
public string DecodeUtf8(string query)
{
byte[] u8_Utf = new byte[query.Length];
for (int i = 0; i < query.Length; i++)
{
// If there are characters above 255 it is IMPOSSIBLE that it is an UTF8 string.
// It is already in Unicode format, there is nothing to do!
if (query[i] > 255)
return query;
u8_Utf[i] = (byte)query[i];
}
return Encoding.UTF8.GetString(u8_Utf);
}
Resultado: lápiz éóáíúñ
Pero ahora mi problema es que esto no funciona con los caracteres especiales del portugues.
Alguna idea de cómo resolver esto?
Caracteres especiales del idioma portugues: ãÃàÀêÊõÕçÇ