On Thursday 03 July 2008 18:31:34 pam wrote:
> Hola, estoy programando con php una aplicación que hace lo tipico
> consultar tablas y mostrar información por pantalla.
> El problema que tengo es que php no está tomando bien los datos con ñ o
> acentos. La base es oracle 10 y tiene como charset : WE8ISO8859P1
> El sistema operativo es sunos 5.10 y tiene como NSL_LANG seteado
> american_america.WE8ISO8859P1
> la configuración de apache y php no tienen nada expresamente seteado.
> el bowser que uso es IE.
> Probe usando utf8_encode como para pasar ISO-8859-1 a UTF-8 pero no
> funciona siempre la ñ se ve como ?
>
> No se si tienen alguna otra idea para probar que no implique cambiar
> el charset de la base!.
>
> Saludos y muchas gracias
>
> Pamela
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion

Los navegadores por lo general resuelven que charset usar leyendo el meta en 
el head. Si de la base viene ISO88951 fijate de sacar algo así:

<!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"; xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-1" />
...

Si eso no funciona también tenes que revisar como haces la conexión. No sé en 
oracle pero por ejemplo en mysql se usa:

mysqli_set_charset($link,"utf8") // o iso8859-1

Una sola vez antes de hacer cualquier consulta.

Y también tenes la función header de php, que si vas a sacar un html antes de 
cualquier output haces:

<?php header("Content-type: text/html; charset=iso8859-1"); ?>

Espero que te sirva, saludos.
-- 
((lambda (x) 
   (let ((l "astarita") (f "emilio"))
     (funcall x "<" f "." l "@gmail.com>")
     )) #'concat)

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a