Re: Mostrar caracteres acentuados en PHP

From: José Manuel Ruiz <josemanuelruizbaena(at)gmail(dot)com>
To: "conrado(at)mapfre(dot)com(dot)ar" <conrado(at)mapfre(dot)com(dot)ar>
Subject: Re: Mostrar caracteres acentuados en PHP
Date: 2007-03-14 09:21:23
Message-ID: 83db7ab90703140221t22934cddg7d5c2e510de6a24e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Se me ha ocurrido otra opción para que no salgan los "caracteres raros"
cuando pintas un texto que un usuario a escrito y tú almacenas en un campo
text en la base de datos.

crea una función en PHP que le pases el texto que ha escrito el usuario y te
devuelva el texto en HTML. Utilizando la función de PHP str_replace, puedes
crear todas las opciones.

Por ej:

function dame_text_en_html($text)
{
// signos < > en html
$text=str_replace(array("<",">"), array("&lt;","&gt;"),$text);
//tildes en vocales y ñ
$text=str_replace(array("á","é","í","ó","ú","ñ"),
array("$aacute;","$eacute;","$iacute;","$oacute;","$uacute;","&ntilde;"),$text);

//devuelve el texto en html
return $text;
}

Una vez tienes el texto en HTML solo tienes que guardarlo en la base de
datos y supongo que al pintarlo pasarás todas las validaciones de HTML.
Porque incluso el texto que escribe el usuario estará en HTML.

El problema estará cuando el usuario tenga que editar, que tendrás que
ponerle el texto tal y como el lo puso. Porque es capaz de llamarte para
decirte que tu apli no está funcionando bien. Pero simplemente está viendo
código HTML en el editor.

Un saludo.

El día 13/03/07, conrado(at)mapfre(dot)com(dot)ar <conrado(at)mapfre(dot)com(dot)ar> escribió:
>
> Gente, buenos días.
> Tengo instalado postgresql en UTF-8. Tengo algunas funciones que devuelven
> el tipo de datos text, y en su contenido pueden venir caracteres
> acentuados.
> Probando la funcion desde pgAdminIII, no hubo problemas, pero cuando hago
> la
> llamada a la funcion desde php, me aparecen los famos caracteres 'raros'.
> La pregunta es, como hago para saber y cambiar el encoding del cliente
> para
> que pueda mostrar los caracteres acentuados?
> Es desde el servidor apache, configuracion de php?
>
> Desde ya, gracias.
> Saludos,
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster
>

--
"Comparte lo que sabes, aprende lo que no sepas"
Todo por el conocimiento libre

Linux user number 441469

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mari Paz 2007-03-14 10:19:46 trigger
Previous Message Gabriel Colina 2007-03-14 03:56:28 Re: Simbolos dentro de cadenas