Foros del Web » Programando para Internet » PHP »

Include con UTF-8

Estas en el tema de Include con UTF-8 en el foro de PHP en Foros del Web. Buenas a todos, Tengo un problema que no termino de solucionar, para que lo veais de una manera rapida os pongo este ejemplo. Tengo 2 ...
  #1 (permalink)  
Antiguo 30/12/2008, 07:09
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Include con UTF-8

Buenas a todos,
Tengo un problema que no termino de solucionar, para que lo veais de una manera rapida os pongo este ejemplo. Tengo 2 documentos, uno seria la propia pagina web con charset=UTF-8 y el otro seria un archivo en php con las variables de idioma (idioma.php)
La pagina web:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?php
require('idioma.php');
$variable = "Camión, España, Última, Barça";

echo "Texto guardado en PHP en un archivo exterior -> ".$ejemplo;
echo "<br>Texto guardado en PHP dentro de este documento -> ".$variable;
?>

<br />
Texto escrito directamente en este documento -> Camión, España, Última, Barça
</body>
</html>
y el archivo de idioma.php

Código:
<?php
	$ejemplo = "Camión, España, Última, Barça";
?>
Bien, pues esto mostrado en el navegador da el siguiente resultado:
Código:
Texto guardado en PHP en un archivo exterior -> Cami�n, Espa�a, �ltima, Bar�a
Texto guardado en PHP dentro de este documento -> Camión, España, Última, Barça 
Texto escrito directamente en este documento -> Camión, España, Última, Barça
Es decir, que las variables definidas dentro de la web, se muestran bien, pero si las variables llegan desde un include ya no. Finalmente lo solucione abriendo el documento idioma.php con el bloc de notas y guardandolo como "UTF", lo subi, y ya se vio bien. Ahora mi pregunta es si existe alguna manera de guardar los archivos como UTF con Dreamweaver, porque a la hora de guardar, o guardar como no me aparece ninguna opcion más que la de elgir extensión.
Muchas gracias (perdón por el toston pero seguramente a mucha gente le pase como ami y viendo el ejemplo anterior sabran como solucionarlo)
  #2 (permalink)  
Antiguo 30/12/2008, 08:59
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Include con UTF-8

Tenés que guardar el archivo idioma.php como utf8, desde DW: Modify > Page Properties > Title / Encoding > Y en el pulldown de encoding pones utf8. Otra es tratar la var, ej, poniéndolo, desde el archivo donde usas las variables, como:

Código PHP:
echo utf8_encode($ejemplo); 
O bien puede servirte:
Código PHP:
echo htmlentities($ejemplo); 
Si entendí bien esto te ayudará...saludos
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 30/12/2008, 13:23
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Respuesta: Include con UTF-8

Muchas gracias Nicolaspar, exactamente era esto! Esa era la opción del dreamweaver que no encontraba. Aun así, sabes si existe la opción de dejar por defecto como codificación para guardar documentos UTF-8?? Es decir que no tenga que andar entrando y cambiando en las propiedades de pagina de cada documento, sino que cuando de a guardar ya lo haga por defecto en UTF-8. He estado buscando en preferencias pero no encuentro nada. Gracias de nuevo y un saludo
  #4 (permalink)  
Antiguo 31/12/2008, 06:29
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Include con UTF-8

Creo que si la hay, tendrías que ver en el help del mismo, pero desconozco...

Ojo, me parece que es mejor tratar los textos de las variables declaradas como los ejemplos que te deje (hay otros más, como las funciones multibyte strings). Pensá que si en algún momento alguien edita esto y no tiene en cuenta este encoding, o que es peor, el editor no soporta UTF8 (si, hay muchos que no lo hacen:S) te romperán todo.

En si, en lo posible no dejaría el encoding de ese lado a no ser que sea en un solo archivo y no en todos ;)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 31/12/2008, 11:27
 
Fecha de Ingreso: noviembre-2004
Mensajes: 92
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Include con UTF-8

En dreamweaver está la opción de indicar el charset del fichero.

Te indico las opciones en inglés:

Modify-Page Properties-Title/encoding-Charset
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 05:28.