Foros del Web » Programando para Internet » PHP »

<meta charset="utf-8"> en archivo php

Estas en el tema de <meta charset="utf-8"> en archivo php en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo una web estática en html5 y con algunos archivos con php. En las cabeceras tengo la metatag para el charset: ...
  #1 (permalink)  
Antiguo 02/02/2015, 11:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
<meta charset="utf-8"> en archivo php

Hola a todos.

Estoy haciendo una web estática en html5 y con algunos archivos con php.

En las cabeceras tengo la metatag para el charset:

<meta charset="utf-8">

En los archivos html funciona sin problemas y muestra eñes, acentos y todo lo demás.

Ahora, meto contenido php en un archivo de tal naturaleza, coloco todo lo demás igual, incluyendo la metatag y me encuntro con que todas las eñes y todas las palabras con acento han desaparecido. No muestra signos extraños (el rombo o los caracteres que conocemos), sino que sencillamente no aparecen las palabras:

"España" se ve así: "Espaa

Si elimino la referencia al charset, se ve correctamente.

Necesito entender este problema.
  #2 (permalink)  
Antiguo 02/02/2015, 11:50
 
Fecha de Ingreso: mayo-2013
Mensajes: 171
Antigüedad: 11 años
Puntos: 4
Respuesta: <meta charset="utf-8"> en archivo php

Podria ser porque te falta http-equiv="Content-Type" content="text/html; ?
  #3 (permalink)  
Antiguo 02/02/2015, 12:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: <meta charset="utf-8"> en archivo php

No. En html5 es así:

<meta charset="UTF-8">

Pero el tema es que si lo quito funciona. ¿Por qué?
  #4 (permalink)  
Antiguo 02/02/2015, 12:18
 
Fecha de Ingreso: mayo-2013
Mensajes: 171
Antigüedad: 11 años
Puntos: 4
Respuesta: <meta charset="utf-8"> en archivo php

Ah, perdon, no lei que era HTML5.
Pues dos opciones, o los archivos no los estas guardando en utf-8 (cosa que suele pasar) o pasa la codificacion a ISO-8859-1.

Si quiere UTF-8, comprueba lo que te digo por si acaso.

No se me ocurre otra cosa...
  #5 (permalink)  
Antiguo 02/02/2015, 14:55
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: <meta charset="utf-8"> en archivo php

Prueba una de estas dos opciones.

utf8_encode(string);
utf8_decode(string);

Saludos
  #6 (permalink)  
Antiguo 02/02/2015, 17:27
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
Puntos: 1146
Respuesta: <meta charset="utf-8"> en archivo php

para que funcione yo siempre meto
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

la versión corta del html5 no me funciona siempre, aparte de colocarlo completo también has de verificar que el archivo se haya guardado en utf-8 sin boom
  #7 (permalink)  
Antiguo 02/02/2015, 18:32
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: <meta charset="utf-8"> en archivo php

En tus archivos php deberias poner utf8_encode en cada una de las salidas echo o print que uses en tu script
__________________
http://www.roglastudios.es
  #8 (permalink)  
Antiguo 03/02/2015, 02:38
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: <meta charset="utf-8"> en archivo php

Mira en qué "codificación" estás guardando el archivo...
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: html
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 14:12.