Foros del Web » Programando para Internet » PHP »

Problema con tíldes en require()

Estas en el tema de Problema con tíldes en require() en el foro de PHP en Foros del Web. Uso el juego de caracteres ISO-8859-1 Código PHP: $lang  =  "Nombre inválido" ; echo  $lang ;   // Nombre inválido  Archivo lang.php Código PHP: $lang  =  "Nombre inválido" ;  Archivo ...
  #1 (permalink)  
Antiguo 27/07/2009, 05:23
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Problema con tíldes en require()

Uso el juego de caracteres ISO-8859-1

Código PHP:
$lang "Nombre inválido";
echo 
$lang;  // Nombre inválido 
Archivo lang.php
Código PHP:
$lang "Nombre inválido"
Archivo index
Código PHP:
require("lang.php");
echo 
$lang//Nombre inválido 
El problema es cuando llamo una variable por require, cual podría ser el problema?.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 27/07/2009, 05:36
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con tíldes en require()

Pues tu problema es el juego de caracteres que estas usando,
deverias Utilizar uft8 .

Y puedes decodificar la variable con utf8_decode
Código PHP:
$lang "Nombre inválido"
echo 
utf8_decode($lang);  // Nombre inválido 
http://www.php.net/manual/en/function.utf8-decode.php
  #3 (permalink)  
Antiguo 27/07/2009, 05:47
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Problema con tíldes en require()

Hola gracias por la respuesta, pero usar una función para solo mostrar una variable, es muy pesado "en los 2 sentidos", debe haber otra solución de juego de caracteres, ahora el problema, si pongo en el header utf-8, me muestra las tildes de la variable bien, pero los que están en el resto de la página no, que raro.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #4 (permalink)  
Antiguo 27/07/2009, 05:51
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema con tíldes en require()

Bueno , pues si quieres no lo uses pero deberas cambiar el juego de caracteres.
Como lo vas hacer sin usar la funcion :S ni idea
al menos que hagas uso de la funcion
str_replace

http://www.forosdelweb.com/f18/acent...on-php-352239/
  #5 (permalink)  
Antiguo 27/07/2009, 08:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Respuesta: Problema con tíldes en require()

Tu problema es que la página web dice estar en un juego de caracteres y luego algunas variables estar en otro juego de caracteres.
Debes convertir toda la web a un único charset. (Por ejemplo, desde Eclipse IDE, preferencias del sitio, utilizar... "utf-8", por ejemplo).
Da igual qué juego utilices, puede ser ISO-8851-1, ISO-8851-2, utf-8... es indiferente. Lo importante es que solo utilices uno.
Si te ves obligado a cambiar de uno a otro, puedes, bien utilizar las funciones utf8_encode / utf8_decode o bien iconv().

Edito:
Se me olvidaba, luego, una vez hayas convertido tu página al juego de caracteres en que debe estar, envía al navegador las cabeceras adecuadas, es decir, algo como
header('Content-Type: text/html; charset=utf-8'); o bien header('Content-Type: application/xml; charset=utf-8'); o semejantes; dependiendo del tipo de contenido de tu aplicación web.

Un saludo
__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!
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 00:06.