Foros del Web » Creando para Internet » HTML »

Caracteres especiales

Estas en el tema de Caracteres especiales en el foro de HTML en Foros del Web. Buenas... Me gustaría saber cómo mostrar caracteres especiales de otros idiomas como polaco o checo. Tengo una web en asp tirando de bbdd mysql. Por ...
  #1 (permalink)  
Antiguo 05/07/2011, 14:04
 
Fecha de Ingreso: julio-2002
Mensajes: 61
Antigüedad: 22 años, 4 meses
Puntos: 1
Caracteres especiales

Buenas...

Me gustaría saber cómo mostrar caracteres especiales de otros idiomas como polaco o checo.

Tengo una web en asp tirando de bbdd mysql.

Por ejemplo, el dato almacenado en la bbdd es "Česká republika"

Sin embargo al mostrarlo en la pagina, sale "?eská republika"

En mysql, el campo es varchar y de tipo "utf8_general_ci"

En la pagina html tengo la etiqueta:
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1;' />

he intentado poner otros tipos de charset, pero lo unico que he conseguido es que tambien me salgan mal las tildes.

tambien he probado a sustituir dentro de la propia bbdd el caracter "Č" por su equivalente "&xxxx;" y se ve bien en la pagina, lo que pasa es que si quiero mostrar la relacion ordenada alfabeticamente, éste nombre me aparece el primero

ademas, poniendo "&xxxx;", si quiero contar los caracteres del campo, me los cuenta todos incluidos los de este código, cuando lo que quiero es que cuente solo 1, es decir el original "Č"....no se si me explico.....

Alguien sabe como arreglar esto de forma sencilla?

Gracias.
  #2 (permalink)  
Antiguo 05/07/2011, 14:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Caracteres especiales

buenas,
no me manejo con base de datos por lo que cómo exactamente debes hacer, no lo sé. lo que si te puedo decir es que el caracter Č no existe en iso-8859-1. por tanto, debes convertirlo a su equivalente entidad o bien cambias la codificación de tu documento a otro que soporte dicho caracter. por ejemplo, puedes cambiar el documento a utf-8. probablemente el resto se muestra mal porque no estas codificando el contenido antes de imprimirlo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/07/2011, 14:37
 
Fecha de Ingreso: julio-2002
Mensajes: 61
Antigüedad: 22 años, 4 meses
Puntos: 1
Respuesta: Caracteres especiales

la unica solucion seria, antes de sacar en pantalla, reemplazar "Č" y el resto de caracteres de otros idiomas por el equivalente "&xxxx;" ?
  #4 (permalink)  
Antiguo 05/07/2011, 14:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Caracteres especiales

es una posible solución pero, ¿por qué enredarse tanto? lo más adecuado sería lo que antes indique. codifica el contenido en utf-8. no de la base de datos, porque supongo que ya eso esta codificado en utf-8. el punto es que al servir el documento, debes indicar en el header content-type o <meta>, el charset utf-8. adicionalmente, cuando imprimas el contenido en pantalla desde el lenguaje de servidor, debes pasar ese contenido por alguna función que codifique el contenido. por ejemplo, en php sería la función utf8_encode. nota: lo que no tengo claro es si el contenido de la base de datos hay que codificarlo, reitero mi ignorancia en base de datos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 05/07/2011, 14:51
 
Fecha de Ingreso: julio-2002
Mensajes: 61
Antigüedad: 22 años, 4 meses
Puntos: 1
Respuesta: Caracteres especiales

la bbdd mysql esta en utf-8

sabes alguna funcion en asp equivalente a utf8_encode de php?

Etiquetas: caracteres, especiales, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:10.