elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Ayuda - Android] TextView no reconoce caracteres especiales <?>
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda - Android] TextView no reconoce caracteres especiales <?>  (Leído 13,909 veces)
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
[Ayuda - Android] TextView no reconoce caracteres especiales <?>
« en: 6 Abril 2015, 04:47 am »

Pues tengo un TextView que lo agrego desde el xml que por defecto lo dejo vacio para luego desde el código java poner algún texto como consecuencia de una acción de un botón.

Resulta que al momento de setear el texto del TextView desde el código, los caracteres especiales como las tilde por ejemplo, se muestran así <?> y no como debería ser.

He intentando metiendo una codificación UTF-8 dentro del xml donde va el TextView, pero nada, al momento de mostrarse no me reconoce esos caracteres.

¿Alguien sabe que tengo que especificar y cómo?


« Última modificación: 7 Abril 2015, 17:01 pm por PabloPbl » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #1 en: 6 Abril 2015, 13:30 pm »

Prueba obteniendo los bytes del String en UTF8 y luego mantienes el UTF8 obteniendo un nuevo String a partir de HTML:

Código
  1. try {
  2.    String text = new String(c.getString
  3. ("TU_TEXTO").getBytes("ISO-8859-1"),
  4. "UTF-8");
  5.    String encodedText = Html.fromHtml(text).toString();
  6.    textView.setText(encodedText);
  7. }   catch(UnsuportedEncodeException e) {
  8.    // mostrar el error al usuario o en un log
  9.    }
  10. }


Saludos.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #2 en: 6 Abril 2015, 15:42 pm »

Hola Gus, muchas gracias de antemano.

Pero en la segunda linea estas haciendo referencia a una variable "c" si no me equivoco que no existe, y me da error.
« Última modificación: 6 Abril 2015, 15:44 pm por PabloPbl » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #3 en: 6 Abril 2015, 15:55 pm »

En efecto, c es un Resources (obtiene los strings del XML). Pero prueba con:

Código
  1. String text = new String("TU_TEXTO".getBytes(), "UTF-8");

No le hemos pasado un Charset porque según veo en la API de Android, por defecto es UTF-8. Prueba a ver qué tal.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #4 en: 6 Abril 2015, 16:36 pm »

He probado el código pero sigue sin funcionarme

Lo he puesto de la siguiente manera:

Código
  1. try{
  2.                    String texto1 = "Ejecución";
  3.                    String text = new String(texto1.getBytes(), "UTF-8");
  4.                    String encodedText = Html.fromHtml(text).toString();
  5.                    tv1.setText(encodedText);
  6.  
  7.                    String texto2 = "Explosión";
  8.                    String text2 = new String(texto2.getBytes(), "UTF-8");
  9.                    String encodedText2 = Html.fromHtml(text2).toString();
  10.                    tv2.setText(encodedText2);
  11.  
  12.  
  13.                }
  14.                catch(Exception e) {
  15.                    Toast.makeText(this, "Error encodec", Toast.LENGTH_LONG).show();
  16.                }
  17.  

He descubierto que si agrego todo el texto que quiero que se muestre en el TextView, me lo hace y me lo muestra correctamente, pero si intento cambiar el valor del TextView desde el código Java me lo muestra mal. ¿No sera que algo debo especificar algo en mi código?
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #5 en: 6 Abril 2015, 17:00 pm »

Imprime encodedText2, ¿el String mantiene las tildes?
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #6 en: 6 Abril 2015, 22:23 pm »

He hecho la impresión de 3 formas y me muestra ese signo <?> en vez de las tildes, osea no mantiene las tildes:

Código
  1. Toast.makeText(this, encodedText, Toast.LENGTH_LONG).show();
  2. System.out.println(encodedText);
  3. Log.e("IMPRESIÓN", encodedText);
  4.  
En línea

PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #7 en: 7 Abril 2015, 17:01 pm »

Bueno después de cansarme y cansarme probando en busca de soluciones, di en el blanco.

Pues resulta que para me haga la codificación, tenia que si o si obtener los String del xml donde se guardan los Strings(string.xml) y de ahí hacer la codificación.

Código
  1. String text = newString(getString(R.string.activity_MostrarImagen_tituloEjecucion).getBytes(), "UTF-8");
  2. String encodedText = Html.fromHtml(text).toString();
  3. tv1.setText(encodedText);
  4.  

Pues lo que ya hacia era poner un String directamente en el código y no obteniéndolo del xml.

Por lo menos eso resolvió mi problema.

Salu2 y muchas gracias a todos.
« Última modificación: 7 Abril 2015, 17:04 pm por PabloPbl » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #8 en: 7 Abril 2015, 20:00 pm »

Jaja, ya había leído de strings.xml pero pensé que era un poco redundante tener los Strings en un XML cuando el TextView puede cambiar de contenido en tiempo de ejecución y por ejemplo por intervención del usuario. Creo que debe haber una manera más práctica. Investigaré a ver que encuentro.


Un saludo.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
PabloPbl

Desconectado Desconectado

Mensajes: 188


Ver Perfil
Re: [Ayuda - Android] TextView no reconoce caracteres especiales <?>
« Respuesta #9 en: 7 Abril 2015, 22:15 pm »

xD, El string.xml mas que nada sirve para poder internacionalizar la aplicación, osea poder tener la app en distintos idiomas.

Tu tienes varios xml con los mismos punteros, solo que con diferentes valores, y a valores me refiero a el texto que usara la App para mostrar texto, pues esos valores los puedes poner en diferentes idiomas. Cada xml sera para un idioma en particular. Entonces cuando tu usas la App en una teléfono con un idioma en concreto, pues Android detectara que archivo xml se usara para la App, cabe destacar que para eso tienes que poner unos nombres a los xml para que Android sepa cual usar en cada caso.

Salu2  ;D
« Última modificación: 10 Abril 2015, 04:43 am por PabloPbl » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Caracteres especiales
PHP
chicuela66 2 2,903 Último mensaje 12 Enero 2007, 14:25 pm
por 5n4K3
caracteres especiales
Scripting
flony 0 2,544 Último mensaje 1 Junio 2010, 03:27 am
por flony
Caracteres Especiales en TextBox [Ayuda]
Programación Visual Basic
Psyke1 6 10,344 Último mensaje 29 Julio 2010, 10:39 am
por Psyke1
Ayuda: ¿Caracteres especiales con PHP?
Desarrollo Web
Argentino Canejo 3 3,956 Último mensaje 8 Octubre 2012, 02:21 am
por ~ Yoya ~
Ayuda con Caracteres especiales (html)
Desarrollo Web
andrecid 5 3,085 Último mensaje 6 Abril 2015, 15:29 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines