Holaaa amigos necesito hacer lo siguiente en una aplicacion y tengo problemas con los acentos:La aplicacion debe descargar una pagina web hacia un fichero temporaldespues debe leer informacion que esta dentro de la pagina.Todo esto lo hago de la siguiente manera:WebClient nuevo = new WebClient();nuevo.DownloadFile(uriString, filePath);
Despues para leer el contenido estoy haciendo lo siguiente:
using
(StreamReader reader = new StreamReader(filePath, Encoding.UTF8)){
string line = string.Empty;
while ((line = reader.ReadLine()) != null){
htmlContent += line;
}
}
El problema esta en que lo que me devuelve la variable htmlContent pues los caracteres con acento me los pone con "&". tambien revisé el fichero descargado y efectivamente esta asi, es decir si abro el fichero (supongamos que se llama temporal1.htm) con el notepad los caracteres aparecen raros asi tal y como los tengo dentro de la variable; pero si lo abro con Internet Explorer por ejemplo el browser me los "convierte" y la página se ve bien. Necesito esta "conversión" en mi aplicacion. ¿alguien sabe como hacerlo?. muchas gracias
PEPE
Replace(String, String): Returns a new string in which all occurrences
of a specified string in the current instance are replaced with
another specified string.
Saludos a Fidel (?).
2012/4/11 Oscar Onorato <oscar....@gmail.com>:
--
Saludos.
César Javier Mendoza.
----- Original Message -----
From: "C�sar Mendoza" <ces...@gmail.com>
To: "Pepe Ballaga" <pe...@gedich.une.cu>
Sent: Wednesday, April 11, 2012 10:50 AM
Subject: [c#] Re: [c#] Re: [c#] problema grande con acentos espa�oles.
Y si lo cambi�s?
http://msdn.microsoft.com/en-us/library/system.string.replace.aspx
Replace(String, String): Returns a new string in which all occurrences
of a specified string in the current instance are replaced with
another specified string.
Saludos a Fidel (?).
2012/4/11 Oscar Onorato <oscar....@gmail.com>:
> Hola Pepe,
>
> �Te est� retornando &*acute; (donde * es la vocal acentuada)?
>
>
> Saludos,
>
> --
> Oscar R. Onorato
>
>
> El 11 de abril de 2012 13:25, Pepe Ballaga <pe...@gedich.une.cu> escribi�:
>>
>> Holaaa amigos necesito hacer lo siguiente en una aplicacion y tengo
>> problemas con los acentos:
>>
>> La aplicacion debe descargar una pagina web hacia un fichero temporal
>>
>> despues debe leer informacion que esta dentro de la pagina.
>>
>> Todo esto lo hago de la siguiente manera:
>>
>>
>> WebClient nuevo = new WebClient();
>>
>> nuevo.DownloadFile(uriString, filePath);
>>
>> Despues para leer el contenido estoy haciendo lo siguiente:
>>
>> using
>>
>> (StreamReader reader = new StreamReader(filePath, Encoding.UTF8))
>>
>> {
>>
>> string line = string.Empty;
>>
>> while ((line = reader.ReadLine()) != null)
>>
>> {
>>
>> htmlContent += line;
>>
>> }
>>
>> }
>>
>>
>>
>> El problema esta en que lo que me devuelve la variable htmlContent pues
>> los caracteres con acento me los pone con "&". tambien revis� el fichero
>> descargado y efectivamente esta asi, es decir si abro el fichero
>> (supongamos
>> que se llama temporal1.htm) con el notepad los caracteres aparecen raros
>> asi
>> tal y como los tengo dentro de la variable; pero si lo abro con Internet
>> Explorer por ejemplo el browser me los "convierte" y la p�gina se ve
>> bien.
>> Necesito esta "conversi�n" en mi aplicacion. �alguien sabe como hacerlo?.
>> muchas gracias
>>
>>
>>
>> PEPE
>
>
>
>
--
Saludos.
C�sar Javier Mendoza.
si, asi mismo es. Hay veces incluso que la "r" la suprime como por ejemplo la palabra "Pares" me devuelve "Pa es" ¿sabes como solucionar esto? gracias nuevamente
PEPE
----- Original Message -----From: Oscar OnoratoTo: Pepe BallagaSent: Wednesday, April 11, 2012 10:39 AMSubject: [c#] Re: [c#] problema grande con acentos españoles.Hola Pepe,
¿Te está retornando &*acute; (donde * es la vocal acentuada)?Saludos,--
Oscar R. Onorato
El 11 de abril de 2012 13:25, Pepe Ballaga <pe...@gedich.une.cu> escribió:
Holaaa amigos necesito hacer lo siguiente en una aplicacion y tengo problemas con los acentos:La aplicacion debe descargar una pagina web hacia un fichero temporaldespues debe leer informacion que esta dentro de la pagina.Todo esto lo hago de la siguiente manera:
WebClient nuevo = new WebClient();
nuevo.DownloadFile(uriString, filePath);
Despues para leer el contenido estoy haciendo lo siguiente:
using
(StreamReader reader = new StreamReader(filePath, Encoding.UTF8)){
string line = string.Empty;
while ((line = reader.ReadLine()) != null){
htmlContent += line;
}
}
El problema esta en que lo que me devuelve la variable htmlContent pues los caracteres con acento me los pone con "&". tambien revisé el fichero descargado y efectivamente esta asi, es decir si abro el fichero (supongamos que se llama temporal1.htm) con el notepad los caracteres aparecen raros asi tal y como los tengo dentro de la variable; pero si lo abro con Internet Explorer por ejemplo el browser me los "convierte" y la página se ve bien. Necesito esta "conversión" en mi aplicacion. ¿alguien sabe como hacerlo?. muchas gracias
PEPE
No puedo hacer eso que propones pues son muchas las palabras y tendria que hacer un "diccionario" o algo parecido. Gracias
PEPE
----- Original Message ----- From: "César Mendoza" <ces...@gmail.com>
To: "Pepe Ballaga" <pe...@gedich.une.cu>
Sent: Wednesday, April 11, 2012 10:50 AM
Subject: [c#] Re: [c#] Re: [c#] problema grande con acentos españoles.
Y si lo cambiás?
http://msdn.microsoft.com/en-us/library/system.string.replace.aspx
Replace(String, String): Returns a new string in which all occurrences
of a specified string in the current instance are replaced with
another specified string.
Saludos a Fidel (?).
2012/4/11 Oscar Onorato <oscar....@gmail.com>:
Hola Pepe,
/// <summary>
/// Remove HTML tags from string using char array.
/// </summary>
public static string StripTagsCharArray(string source)
{
char[] array = new char[source.Length];
int arrayIndex = 0;
bool inside = false;
for (int i = 0; i < source.Length; i++)
{
char let = source[i];
if (let == '<')
{
inside = true;
continue;
}
if (let == '>')
{
inside = false;
continue;
}
if (!inside)
{
array[arrayIndex] = let;
arrayIndex++;
}
}
return new string(array, 0, arrayIndex);
}Hola gente!
Hmmm… Pepe, podras dar mas contexto. Es decir, para que hay que hacer eso?
Pregunto, porque me imagino que si quieres el texto del HTML que bajaste, querras saltearte los tags, y los scripts de javascript, y mil cosas mas. Entonces, en vez de traducir esas entidades HTML como á o ñ (fijate como trata las enies) y demás, y luego encarar el tema de saltearte javascript y demás cosas que aparezcan, hay librerías que ya hacen las dos cosas (supongo).
Una potable parece ser
http://www.majestic12.co.uk/projects/html_parser.php
Algunos enlaces en http://stackoverflow.com/questions/56107/what-is-the-best-way-to-parse-html-in-c
Ahí mencionan tmb a http://htmlagilitypack.codeplex.com/
Evitaria las librerias que necesitan que el HTML este bien formado.
Nos leemos!
Angel "Java" Lopez
De: c#@mug.org.ar
[mailto:c#@mug.org.ar] En nombre de Pepe Ballaga
Enviado el: miércoles, 11 de abril de 2012 13:26
Para: webm...@ajlopez.com
Asunto: [c#] problema grande con acentos españoles.
Holaaa amigos necesito hacer lo siguiente en una aplicacion y tengo problemas con los acentos:
La aplicacion debe descargar una pagina web hacia un fichero temporal
despues debe leer informacion que esta dentro de la pagina.
Todo esto lo hago de la siguiente manera:
WebClient nuevo = new WebClient();
nuevo.DownloadFile(uriString, filePath);
Despues para leer el contenido estoy haciendo lo siguiente:
using (StreamReader reader = new StreamReader(filePath, Encoding.UTF8))
{
string line = string.Empty;
while ((line = reader.ReadLine()) != null)
{
htmlContent += line;
}
}
El problema esta en que lo que me devuelve la variable htmlContent pues los caracteres con acento me los pone con "&". tambien revisé el fichero descargado y efectivamente esta asi, es decir si abro el fichero (supongamos que se llama temporal1.htm) con el notepad los caracteres aparecen raros asi tal y como los tengo dentro de la variable; pero si lo abro con Internet Explorer por ejemplo el browser me los "convierte" y la página se ve bien. Necesito esta "conversión" en mi aplicacion. ¿alguien sabe como hacerlo?. muchas gracias
PEPE
No virus
found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.455 / Virus Database: 271.1.1/4327 - Release Date: 04/10/12
19:55:00
Cristian A. Maidana
Founder & CEO at Myteo
cristia...@myteo.com.ar
MYTEO
GeoPublicidad en Internet
Rosario, SF (S2000COT)
www.myteo.com.ar
Atenti que Pepe no confirmo si quería hacer eso.
Interesante Cristian… Pero no esa función, no me deja el contenido de los <script> … </script> y <style> ... </style> como texto?
El new de la Regex es preferible hacerlo una sola vez, por si lo van usar.
Bien!
Entonces fijate tmb en
http://msdn.microsoft.com/en-us/library/hwzhtkke.aspx
http://www.subgurim.net/Articulos/csharp/53/htmlencode-y-htmldecode.aspx
Te va a sacar todos los &…;, no solo las letras acentuads, p.ej. los & los pasa como “&”
Hola gente!
Si tienes una buena cobertura por tests (no necesariamente TDD), iria por la opción 1. Te permitiría también conseguir que tu sistema Java siga siendo multiplataforma, de forma fácil.
No virus found in this incoming message.