pasar de iso-8859-1 a utf-8

24/02/2006 - 14:15 por Ricardo | Informe spam
Hola a todos
Se me presento el siguiente problema que no he podido resolver.
Resulta que necesito leer el correo con un componente hecho en C#, no he
tenido ningún problema para leer el correo ya que hay bastante información en
la red, mi problema surge cuando los correos vienen con la letra ñ o con
tildes, al tratar de decodificarlos me devuelve basura, el servidor de correo
del que estoy leyendo usa la codificación iso-8859-1, como puedo hacer para
poder rescatar la información como corresponde, ya que el servidor de correo
no lo puedo cambiar.
Desde ya muchas gracias.

Preguntas similare

Leer las respuestas

#1 Vyacheslav Popov
24/02/2006 - 19:11 | Informe spam
Hola Ricardo. Tal vez podrías solucionar tu problema del siguiente modo,
aunque no estoy seguro de que va a funcionar.
Cuantanos el resultado ;)

string mensaje = "texto del correo recibido";
byte[] buffer = Convert.FromBase64String(mensaje);

mensaje = System.Text.Encoding.UTF8.GetString(buffer);

Saludos.

"Ricardo" escribió en el mensaje
news:
Hola a todos
Se me presento el siguiente problema que no he podido resolver.
Resulta que necesito leer el correo con un componente hecho en C#, no he
tenido ningún problema para leer el correo ya que hay bastante información
en
la red, mi problema surge cuando los correos vienen con la letra ñ o con
tildes, al tratar de decodificarlos me devuelve basura, el servidor de
correo
del que estoy leyendo usa la codificación iso-8859-1, como puedo hacer
para
poder rescatar la información como corresponde, ya que el servidor de
correo
no lo puedo cambiar.
Desde ya muchas gracias.

Respuesta Responder a este mensaje
#2 Ricardo
24/02/2006 - 20:09 | Informe spam
Hola Vyacheslav Popov.
Mira hice la prueba pasanado el texto antes de decodificarlo...porque
despues cuando esta decodificado no funciona...pero sigue saliendo mal.
Este es el trozo de codigo donde se decodifica.tengo todo el
proyecto...por si hace falta

if (bytesRead > 0)
{
// There might be more data,
// so store the data received so far.

stateObj.sb.Append(
Encoding.ASCII.GetString(
stateObj.buffer,0,bytesRead));

// read more data from pop3 server ...
StartReceiveAgain(stateObj.sb.ToString());
}
el bytesRead es la cantidad de byte...siempre es 256

desde gracias por la ayuda
Salu2

"Vyacheslav Popov" escribió:

Hola Ricardo. Tal vez podrías solucionar tu problema del siguiente modo,
aunque no estoy seguro de que va a funcionar.
Cuantanos el resultado ;)

string mensaje = "texto del correo recibido";
byte[] buffer = Convert.FromBase64String(mensaje);

mensaje = System.Text.Encoding.UTF8.GetString(buffer);

Saludos.

"Ricardo" escribió en el mensaje
news:
> Hola a todos
> Se me presento el siguiente problema que no he podido resolver.
> Resulta que necesito leer el correo con un componente hecho en C#, no he
> tenido ningún problema para leer el correo ya que hay bastante información
> en
> la red, mi problema surge cuando los correos vienen con la letra ñ o con
> tildes, al tratar de decodificarlos me devuelve basura, el servidor de
> correo
> del que estoy leyendo usa la codificación iso-8859-1, como puedo hacer
> para
> poder rescatar la información como corresponde, ya que el servidor de
> correo
> no lo puedo cambiar.
> Desde ya muchas gracias.
>



Respuesta Responder a este mensaje
#3 Vyacheslav Popov
24/02/2006 - 20:28 | Informe spam
Hola Ricardo.

Intenta cambiar la siguiente linea de codigo

stateObj.sb.Append(
Encoding.ASCII.GetString(
stateObj.buffer,0,bytesRead));



por esta

stateObj.sb.Append(
Encoding.UTF8.GetString(
stateObj.buffer,0,bytesRead));



Saludos.

"Ricardo" escribió en el mensaje
news:
Hola Vyacheslav Popov.
Mira hice la prueba pasanado el texto antes de decodificarlo...porque
despues cuando esta decodificado no funciona...pero sigue saliendo mal.
Este es el trozo de codigo donde se decodifica.tengo todo el
proyecto...por si hace falta

if (bytesRead > 0)
{
// There might be more data,
// so store the data received so far.

stateObj.sb.Append(
Encoding.ASCII.GetString(
stateObj.buffer,0,bytesRead));

// read more data from pop3 server ...
StartReceiveAgain(stateObj.sb.ToString());
}
el bytesRead es la cantidad de byte...siempre es 256

desde gracias por la ayuda
Salu2

"Vyacheslav Popov" escribió:

Hola Ricardo. Tal vez podrías solucionar tu problema del siguiente modo,
aunque no estoy seguro de que va a funcionar.
Cuantanos el resultado ;)

string mensaje = "texto del correo recibido";
byte[] buffer = Convert.FromBase64String(mensaje);

mensaje = System.Text.Encoding.UTF8.GetString(buffer);

Saludos.

"Ricardo" escribió en el mensaje
news:
> Hola a todos
> Se me presento el siguiente problema que no he podido resolver.
> Resulta que necesito leer el correo con un componente hecho en C#, no
> he
> tenido ningún problema para leer el correo ya que hay bastante
> información
> en
> la red, mi problema surge cuando los correos vienen con la letra ñ o
> con
> tildes, al tratar de decodificarlos me devuelve basura, el servidor de
> correo
> del que estoy leyendo usa la codificación iso-8859-1, como puedo hacer
> para
> poder rescatar la información como corresponde, ya que el servidor de
> correo
> no lo puedo cambiar.
> Desde ya muchas gracias.
>



Respuesta Responder a este mensaje
#4 Ricardo
07/03/2006 - 13:36 | Informe spam
Hola Vyacheslav Popov.
Hice todas las pruebas posibles pero aun asi sigo teniendo problemas con las
tildes y las Ñ, no se que hacer ni como solucionarlo...espero me puedan
ayudar...
desde ya gracias




"Vyacheslav Popov" escribió:

Hola Ricardo.

Intenta cambiar la siguiente linea de codigo

> stateObj.sb.Append(
> Encoding.ASCII.GetString(
> stateObj.buffer,0,bytesRead));

por esta

> stateObj.sb.Append(
> Encoding.UTF8.GetString(
> stateObj.buffer,0,bytesRead));

Saludos.

"Ricardo" escribió en el mensaje
news:
> Hola Vyacheslav Popov.
> Mira hice la prueba pasanado el texto antes de decodificarlo...porque
> despues cuando esta decodificado no funciona...pero sigue saliendo mal.
> Este es el trozo de codigo donde se decodifica.tengo todo el
> proyecto...por si hace falta
>
> if (bytesRead > 0)
> {
> // There might be more data,
> // so store the data received so far.
>
> stateObj.sb.Append(
> Encoding.ASCII.GetString(
> stateObj.buffer,0,bytesRead));
>
> // read more data from pop3 server ...
> StartReceiveAgain(stateObj.sb.ToString());
> }
> el bytesRead es la cantidad de byte...siempre es 256
>
> desde gracias por la ayuda
> Salu2
>
> "Vyacheslav Popov" escribió:
>
>> Hola Ricardo. Tal vez podrías solucionar tu problema del siguiente modo,
>> aunque no estoy seguro de que va a funcionar.
>> Cuantanos el resultado ;)
>>
>> string mensaje = "texto del correo recibido";
>> byte[] buffer = Convert.FromBase64String(mensaje);
>>
>> mensaje = System.Text.Encoding.UTF8.GetString(buffer);
>>
>> Saludos.
>>
>> "Ricardo" escribió en el mensaje
>> news:
>> > Hola a todos
>> > Se me presento el siguiente problema que no he podido resolver.
>> > Resulta que necesito leer el correo con un componente hecho en C#, no
>> > he
>> > tenido ningún problema para leer el correo ya que hay bastante
>> > información
>> > en
>> > la red, mi problema surge cuando los correos vienen con la letra ñ o
>> > con
>> > tildes, al tratar de decodificarlos me devuelve basura, el servidor de
>> > correo
>> > del que estoy leyendo usa la codificación iso-8859-1, como puedo hacer
>> > para
>> > poder rescatar la información como corresponde, ya que el servidor de
>> > correo
>> > no lo puedo cambiar.
>> > Desde ya muchas gracias.
>> >
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida