Foros del Web » Programando para Internet » PHP »

utf8 n acentuada

Estas en el tema de utf8 n acentuada en el foro de PHP en Foros del Web. Buenas, tengo una aplicación, un formulario, que relleno con datos de una base de datos. He conseguido que los campos se rellenen sin caracteres raros, ...
  #1 (permalink)  
Antiguo 16/06/2011, 06:06
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 10 años, 7 meses
Puntos: 0
utf8 n acentuada

Buenas, tengo una aplicación, un formulario, que relleno con datos de una base de datos. He conseguido que los campos se rellenen sin caracteres raros, incluido la 'ñ'. Doy a inspeccionar elemento desde Chromium, y el código parece estar bien, sin caracteres raros. Tengo un action básico, para ver como coge los datos, si tengo:
Código PHP:
Ver original
  1. echo $_POST['centro1'];
me imprime:
Biblioteca . Edificio 25 (Juan Bautista Mu�oz)

si tengo:
Código PHP:
Ver original
  1. echo utf8_encode($_POST['centro1']);
me imprime:
Biblioteca . Edificio 25 (Juan Bautista Muñoz)

es decir, bien.

Sin embargo, si cambio mi action, por uno que crea una imagen con ese texto, con imagestring, y sin usar utf8_encode, lo que me imprime en la imagen es:
Biblioteca . Edificio 25 (Juan Bautista Muńoz)

es decir, una n acentuada, y no consigo que imprima la ñ.

¿Alguna idea de por que pasa?

Saludos.
  #2 (permalink)  
Antiguo 16/06/2011, 06:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 2 meses
Puntos: 1516
Respuesta: utf8 n acentuada

El archivo tiene que ser también utf8
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 16/06/2011, 06:10
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 8 años, 7 meses
Puntos: 209
Respuesta: utf8 n acentuada

no solo la cabecera sino tmb la codificación cuando lo guardes
  #4 (permalink)  
Antiguo 17/06/2011, 00:47
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: utf8 n acentuada

Mi archivo php que crea la imagen, la fuerzo para que la descargue directamente, con este código:
Código PHP:
Ver original
  1. header("Content-type: image/png");
  2. header('Content-Disposition: attachment; filename="etiquetas.png"');
  3. //leemos la imagen.

¿Tengo que añadir algo más? ¿Por qué solo me pasa con la ñ?

Gracias y Saludos.
  #5 (permalink)  
Antiguo 17/06/2011, 04:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 12 años, 1 mes
Puntos: 1567
Respuesta: utf8 n acentuada

Es muy raro, no estoy seguro que sea un problema de codificación, esa ń
que aparece, no es una deformación de la ñ, sino otro caracter [ Código HTML (decimal): &;#324; Código HTML (hexadecimal): ń]

Si el texto lo extraes de una BD y usas (PHP 5 >= 5.2.3), probá en tu conexión

Código PHP:
Ver original
  1. $conectar_BDT = mysql_connect($sql_hostname,$sql_login,$sql_password);
  2. mysql_set_charset("utf8",$conectar_BDT);

y obvio, la BD también en utf-8.


También puede que la cosa pase por la tipografía que estés usando, no se las
fuentes por defecto de php como interpretan tu Ñ original, quizás usando alguna TTF.


Muy raro el problema
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 17/06/2011, 09:21
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 8 años, 3 meses
Puntos: 2
Respuesta: utf8 n acentuada

Lo solucionaste? Prueba con esto al inicio de todo

<meta name=description content="">
<meta name=keywords content="">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

en ambas paginas.
tambien esta la nomesclatura siguiente.

&aacute; (ACENTO)
&ntilde; (Ñ)

Etiquetas: decode, encode, utf-8
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 04:33.