[Php-avanzado] Plazo de entrega
Gabriel Lenti
gablenti en hotmail.com
Mie Jul 16 01:28:14 ART 2014
Leo, ya te mande una nueva versión de la tesina. Ya me voy acercando a destino.. Con respecto a la entrega, hay q instarla allá en el servidor de la facultad?
Reviso lo del encoding entonces, por lo menos no estaba tan mal encaminado ;)
Ya vendra codigo de mejor calidad con el tiempo, espero!
Saludos
> From: leonardot en pegasusnet.com.ar
> To: php-avanzado en pato2.fi.mdp.edu.ar
> Date: Mon, 14 Jul 2014 14:53:18 -0300
> Subject: Re: [Php-avanzado] Plazo de entrega
>
> Hola Gabriel!
>
> El lun, 14-07-2014 a las 14:20 -0300, Gabriel Lenti escribió:
> > Lo mande el 3/7, pero si preferís puedo volver a enviar una versión
> > mas reciente, he mejorado varias cosas ya.
>
> Dale! Enviame una versión más nueva, y avisame por favor por la lista.
>
> > Una de las dudas q tengo es con respecto al menejo del juego de
> > caracteres de los datos entrantes desde el cliente. Me acuerdo q nos
> > comentaste algo al respecto en la ultima clase. Cuando busque no
> > encontré poca info sobre el tema, así q arme algo mas bien a prueba y
> > error. Pero le tengo dudas sobe su correcto funcionamiento y de si
> > haría falta agregar algún juego de caracteres mas en la secuencia de
> > reconocimiento. Este es el código:
> >
> > foreach ($_GET as $k => $v) {
> > if (is_array($v)) {
> > foreach ($v as $y => $x) {
> > if (!($from = mb_detect_encoding($x, 'UTF-8,
> > ISO-8859-1'))) $from = 'auto';
> > $v[$y] = mb_convert_encoding($x, 'utf8', $from);
> > }
> > unset($x);
> > $_POST[$k] = $v;
> > continue;
> > }
> > if (!($from = mb_detect_encoding($v, 'UTF-8, ISO-8859-1'))) $from
> > = 'auto';
> > $_POST[$k] = mb_convert_encoding($v, 'utf8', $from);
> > }
> >
> > Idem para $_POST
>
> La conversión está bien estructurada, pero tiene una cosa rara.
> Por un lado el:
>
> !($from = mb_detect_encoding($v, 'UTF-8, ISO-8859-1'))
>
> funciona medio de casualidad, porque al no ser en modo estricto, podría
> no coincidir con algunos juegos de caracteres. En realidad, la lógica es
> más fácil
>
> si (no se detecta UTF-8)
> entonces: convierto todo a UTF-8
>
> if (mb_detect_encoding($_POST[$k]) != 'UTF-8') {
> $_POST[$k] = mb_convert_encoding($_POST[$k],'UTF-8');
> }
>
> porque lo que se quiere es convertir todo a un juego de caracteres, en
> este caso UTF-8, pero si ya es UTF-8 no hacer una doble conversión, ya
> que puede romper algunas caracteres.
>
> Después el continue; en vez de usar un else es solo para complicarte la
> vida y hacer el código más difícil de leer.
> Si querés complicarte, hace una función recursiva que si es string,
> converta y si es array, se llame a si misma ;-)
>
> Saludos!
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20140716/1445022c/attachment.html>
Más información sobre la lista de distribución Php-avanzado