Foros del Web » Programando para Internet » PHP »

Problema con Acentos y caracteres especiales

Estas en el tema de Problema con Acentos y caracteres especiales en el foro de PHP en Foros del Web. Bueno, tengo un problemita en lo referente a los acentos y demas dentro de los archivos php. cuando imprimo en pantalla me aparece como que ...
  #1 (permalink)  
Antiguo 04/03/2009, 11:19
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Problema con Acentos y caracteres especiales

Bueno, tengo un problemita en lo referente a los acentos y demas dentro de los archivos php. cuando imprimo en pantalla me aparece como que no recnoce el caracter... antes que nada les digo como tengo el php.ini en lo referente al charset, y muestro el codigo de la funcion head(); que es la que genera el header de todos los archivos.

PHP.ini
Código:
; PHP's built-in default is text/html
default_mimetype = "text/html"
default_charset = "UTF-8"
head()
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht tp:// ww w.w3. o rg/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="ht tp:/ /ww w.w3.o rg/1999/xhtml">
<head>
<title>BrightSystems - Delivery Inform&aacute;tico</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta http-equiv="imagetoolbar" content="no" /> 
<meta name="author" content="Daitron de BrightDesign" /> 
<meta name="generator" content="PHP y MySQL" /> 
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>

<body>
un ejemplo de archivo donde no se muestran los acentos
Código:
<?

// incluye archivos de funciones para esta aplicación
require_once("requires.php");

head();

izquierda();
publicidad();
?><div id="centro"><?

$catid=$_GET['catid'];

$categorie_array = get_categorie($catid);

display_categorie($categorie_array);

$numreg=cuenta_registros($catid);
echo "Esta categoría tiene ".$numreg." producto(s).";


$product_array = get_product($catid);

display_product ($product_array);

?></div>

<?
footer();
?>
bueno la frase del echo aparece asi
Cita:
Esta categor�a tiene 10 producto(s).
Espero que alguien pueda ayudarme,
Desde ya muchas gracias al que lo haga.

Saludos
  #2 (permalink)  
Antiguo 04/03/2009, 11:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: [AYUDA]Problema con Acentos y caracteres especiales

Y al momento de guardar el archivo PHP, ¿lo guardas con codificación UTF-8?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/03/2009, 12:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: [AYUDA]Problema con Acentos y caracteres especiales

como hago eso??

es decir trabajo en dreamviewer, pongo nuevo archivo PHP, le pongo lo que dice arriba en el ejemplo del archivo php, y luego le doy guardar.
  #4 (permalink)  
Antiguo 04/03/2009, 14:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: [AYUDA]Problema con Acentos y caracteres especiales

Hola Prueba con esto

Código PHP:
//Funcion pone html espacio 
function ponhtml($texto) 

$texto=str_replace("á","á",$texto); 
$texto=str_replace("é","é",$texto); 
$texto=str_replace("í","í",$texto); 
$texto=str_replace("ó","ó",$texto); 
$texto=str_replace("ú","ú",$texto); 
$texto=str_replace("Á","Á",$texto); 
$texto=str_replace("É","É",$texto); 
$texto=str_replace("Í","Í",$texto); 
$texto=str_replace("Ó","Ó",$texto); 
$texto=str_replace("Ú","Ú",$texto); 
$texto=str_replace("Ñ","Ñ",$texto); 
$texto=str_replace("ñ","ñ",$texto); 
$texto=str_replace("º","º",$texto); 
$texto=str_replace("ª","ª",$texto); 
$texto=str_replace("\r","<p>",$texto); 
$texto=str_replace("\n","<p>",$texto); 
return $texto; 

--------------------------------- 
y al mostrar la consulta lo haces así 

<? echo ponhtml($fila['noticia']); ?>

Saludos

RSambora
  #5 (permalink)  
Antiguo 04/03/2009, 14:11
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años
Puntos: 14
Respuesta: [AYUDA]Problema con Acentos y caracteres especiales

Dreamweaver por defecto guarda en utf-8 asi que el problema quiza venga de la base de datos, revisa la codificacion de la misma.

En caso de no ser la codificacion de la base de datos entonces revisa tu dreamweaver para ver si esta guardando en utf-8.

Suerte
__________________
My path is lit by my own fire, I only go where I desire
  #6 (permalink)  
Antiguo 04/03/2009, 14:17
 
Fecha de Ingreso: enero-2009
Ubicación: Peru
Mensajes: 11
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con Acentos y caracteres especiales

La mejor manera de guardarlo seria guardarlo de la manera que lo hacen los editores web algo asi me parece a.&.grave; solo que sin los puntos
  #7 (permalink)  
Antiguo 04/03/2009, 14:21
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: [AYUDA]Problema con Acentos y caracteres especiales

Cita:
Iniciado por foreverOdd Ver Mensaje
Dreamweaver por defecto guarda en utf-8 asi que el problema quiza venga de la base de datos, revisa la codificacion de la misma.

En caso de no ser la codificacion de la base de datos entonces revisa tu dreamweaver para ver si esta guardando en utf-8.

Suerte
el problema no reside cuando tomo datos de la DB, ya que estos me los devuelve correctamente, el problema esta con las impresiones en pantalla directamente realizadas con echo

les muestro doy un ejemplo, ahora acabo de añadir un producto a la base de datos, y lo que hago es imprimir el resultado

bueno esto es lo que me devuelve
Cita:
Se consiguio a�adir correctamente el producto: Procesador Intel® Celeron® D430 1,80Ghz FSB 800Mhz 512Kb Cache LGA 775

A�adir otro Producto
ir al panel de Administraci�n
lo que esta en negrita es lo que saco de la base de datos y como se ve, me muestra hasta el simbolo de marca registrada correctamente, todo lo demas esta realizado de la siguiente manera: echo "texto";

Bueno espero que alguno tenga la solucion.

Saludos
  #8 (permalink)  
Antiguo 04/03/2009, 14:42
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años
Puntos: 14
Respuesta: Problema con Acentos y caracteres especiales

Cita:
el problema no reside cuando tomo datos de la DB, ya que estos me los devuelve correctamente, el problema esta con las impresiones en pantalla directamente realizadas con echo
Quiza en este caso no hay problemas con la base de datos, la cuestion es que cuando se hacen Sitios / sistemas la mejor manera de luchar contra los caracteres "raros" es que la codificacion sea la misma para todo el mundo(BD, paginas, editores editando y guardando en x codificacion, etc)

Cita:
A�adir otro Producto
ir al panel de Administraci�n
El archivo donde estan estos "echos" deben estar en utf-8.

Descarga el notepad++ y edita este archivo, con el notepad++ puedes cambiar facilmente la codificacion del archivo.

Saludos
__________________
My path is lit by my own fire, I only go where I desire
  #9 (permalink)  
Antiguo 04/03/2009, 14:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Problema con Acentos y caracteres especiales

los archivos los creo con dreamvier, yo creeria que los guarda con codificacion utf-8, pero bueno voy a bajarme el notepad++ a ver si lo esta guardando en otra codificacion

Me lo bajo y edito este post para decir si se soluciono, yo creo que este problema afecta a varios por lo que he podido ver en la herramienta buscar, pero no encuentro soluciones.

Saludos
  #10 (permalink)  
Antiguo 04/03/2009, 15:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Problema con Acentos y caracteres especiales

Bueno, me baje el Notepad++ pero... los problemas cambiaron.

Bien explico, Convierto el archivo a UTF-8, despues entro a la pagina, y si se solucionaron los problemas de los caracteres, pero surge otro problema arriba del todo de la pagina me da este error

Cita:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\add_product.php:1) in D:\AppServ\www\add_product.php on line 5
paree que la pagina estaba en ANSI, bueno lo vuelvo a pasar a ANSI, y el error desaparece, pero no me muestra los caracteres especiales.

Saludos...
  #11 (permalink)  
Antiguo 04/03/2009, 16:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Problema con Acentos y caracteres especiales

En Notepad++ elige la opción "Codificar en UTF-8 sin BOM". Así evitará ese problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 04/03/2009, 17:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Problema con Acentos y caracteres especiales

Muchisimas gracias, problema solucionado.
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 12:10.