Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2013, 10:35
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Solicitud Corrupta al solicitar una URL con acentos empleando el objeto WebClient

Buenas tardes Foreros !!!

Espero podáis ayudarme con un problema, el cual... no lo veo nada claro, y soy incapaz de encontrar una solución. :S

Veréis... Google tiene un servicio de traducción online, el cual, mandando un texto, te envía un archivo de audio reproduciendo el texto enviado.

La cuestión es que cuando hago esta solicitud a través del Google Chrome, enviado una cadena con acentos y ñ, el servicio reproduce sin ningún problema el texto. Perfectamente.

Código:
http://translate.google.com/translate_tts?tl=es&q=España,%20Camión%20y%20anfitrión
*Los %20 lo puso el editor de Foros del Web, haciendo la solicitud directamente con espacios en blanco también funcionan.

Cuando hago EXACTAMENTE (Copiar y pegar) la misma solicitud desde el IExplorer, la reproducción la hace de forma corrupta, es decir, se ve que no llegan al servidor de una forma correcta los caracteres con acentos, y desaparecen, generando una reproducción con falta de letras.

Pues bien... ese mismo problema me está sucediendo con el objeto WebClient, y la verdad, no sé como solucionarlo. Probé utilizando el HttpUtility.UrlEncode, y bien... la cadena de texto me convierte los caracteres con acento, a caracteres html que son enviados al servicio, pero aún así... lo hace mal.

les dejo la línea de código relevante
Código:
string message = System.Web.HttpUtility.UrlEncode("España,%20Camión%20y%20anfitrión");

byte[] data = objWebClient.DownloadData("http://translate.google.com/translate_tts?tl=es&q=" + message);
Por favor, si alguien entiende por que con el Chrome si funciona, y con el Explorer no, y por qué mi WebClient, aún formateandolo o no, tampoco... le agradecería me ayudara, por que no soy capaz de resolverlo.

Desde ya, gracias por al menos haberos tomado la molestia de leer el post.

Un Saludo.
__________________
Charlie.