Re Subject: [Pgsql-ayuda] Problema Postgres, PHP acentos y tildes

From: Ricardo Salvador Ríos Márquez <alfil__negro(at)hotmail(dot)com>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re Subject: [Pgsql-ayuda] Problema Postgres, PHP acentos y tildes
Date: 2003-07-10 16:15:50
Message-ID: BAY1-F79GNZ4mF1IT1800003afe@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Yo hago esto
en php
SELECT * FROM ALUMNO WHERE
position(lower(translate('$nombre','áéíóú','aeiou')) in
lower(translate(nombre,'áéíóú','aeiou')))>0 ORDER BY nombre ASC

Con esta consulta hago una busqueda en la tabla alumno con respecto al
campo nombre ,
$nombre es la variable que paso a travez de un formulario, la funcion
translate de postgres lo que
me hace es sustituir un caracter por otros , por ejemplo
translate('Hola', 'o', 'ooooooo') me devolveria Hooooooola
el lower es para que te trate igual mayusculas y minusculas

// Esto escribiste

>>Subject: [Pgsql-ayuda] Problema Postgres, PHP acentos y tildes

Antes que nada saludos a todos ..

He creado una base de datos en postgres con encoding LATIN1 y tambien con
el default SQL_ASCII..

Ahi he insertado en uno de los campos (appat) datos de apellido paterno
por ejemplo P'erez(acentuado),

al hacer la consulta desde el monitor de psql ..

dir=# select * from datos where appat='P'erez';

SI me da el resultado correcto .. PERO ..

al tomar la variable desde un campo <input type="text" name="consulta"> (p
ej)

y hacer la consulta desde un script de PHP .. NO se encuentra ningun
resultado .. selecciono el MISMO registro pero en el campo nombre por
ejemplo y me da como resultado:

"Pito P(A mayuscula con tilde + signo de copyright)rez" (p ej)

Nota: al hacer la consulta sobre nombres o apellidos
NO acentuados NO TENGO ERROR ALGUNO

la pregunta es DONDE ESTA EL PROBLEMA?? en PHP? En la codificacion de la
base desde POSTGRES? en el charset=? de HTML?

He probado: Cambiar el encoding de la base de en POSTRGES..(LATIN1,
SQL_ASCII) etc

Habilitar en php.ini la linea default_charset="ISO-8859-1"

Modificar charset en <meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">

Y NO puedo hacer consultas sobre registros con caracteres acentuados..

LA IDEA ES MANTENER DENTRO DE LA BASE DE DATOS ACENTOS Y TILDES PARA QUE
AL HACER CONSULTAS ARROJE EL RESULTADO CORRECTO

SI ALGUNO DE USTEDES PUEDE ORIENTARME PARA SOLUCIONAR ESTE PROBLEMA
..MUCHO SE LOS AGRADECERE!!

_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger:
http://messenger.yupimsn.com/

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2003-07-10 16:25:32 Re: [Pgsql-ayuda] interfaz modo texto
Previous Message Adrian Galindo 2003-07-10 16:13:47 Re: [Pgsql-ayuda] Problema Postgres, PHP acentos y tildes