Me pone programar

Más que me pone, digamos que me gusta y disfruto con ello

Me pone programar

Blog personal sobre PHP, JavaScript, CSS, Estándares, Flash i demás temas interesantes del mundo de la informática e Internet

Acentos en los subjects de los emails. Ampliado

15/08/2008 a las 10:42 por Shox

Como pudimos ver en otro post, poner acentos o carácteres extraños en los subjects de los emails ya no es un misterio.

Leyendo el fabuloso libro “Building Scalable Web Sites -  The Flickr way” he profundizado más en el tema.
El formato se compone de lo siguiente:

=?utf-8?Q?hello_=E2=98=BA?=

que corresponde a:

=?charset?encoding?encoded-text?=

Vamos por partes, el charset utilizaremos siempre utf-8, ya que es nos posibilita enviar cualquier tipo de cadena de carácteres, sin limitar el alfabeto o idioma.

El encoding, puede ser B o Q, y depende de su codificación, el texto codificado será de una manera o otra:

B - Codificación en Base64: Es la que utilicé en el anterior post, codificando todo el string posteriormente en base64.

Q - Codificación en Quoted Printable (RFC 3548): Cada byte representa un literal comenzando por el símbolo igual (=) seguido por dos dígitos hexadecimales. Por ejemplo el byte 0×8A se representaría con =8A. Los espacios (0×20) serán substituidos por el literal underscore (_, byte 0×5F). Los demás carácteres alfanuméricos se quedarían como están.

¿Cual es la mejor opción? Ambas generarán un subject bien formado, peró quizas en modo Q, el texto codificado final es un poco más human-friendly, que el codificado en base64.

Amazon - Building Scalable Web Sites; de Cal Henderson (O’Reilly)

Categorías: Meponeprogramar, PHP
Tags: , , ,
Comentarios: 32 comentarios »

El lento gethostbyaddr de PHP

02/08/2008 a las 05:57 por Shox

La función gethostbyaddr‏ de PHP devuelve el host name de una IP dada. Puede ser útil por ejemplo para saber si el visitante es un bot de Google o Yahoo, para poder contabilizar bien las visitas o tener un control más profundo del visitante.

Todo sería perfecto si esta función funcionara correctamente. Utilizandola en un proyecto, me di cuenta que tardaba demasiado tiempo en generar toda la web, y en un principio pensaba que fuera un error mio, ya que se hacian consultas a una DB y se generaba una caché, pero resulto ser esta aparente inofensiva función. Quitandola he dividido entre 10 el tiempo de generación, lo que nos puede dar una referencia de lo poco bien planteada que está dicha función.

En el foro de PHP, otros usuarios también se han dado cuenta del echo, y hasta han echo alguna propuesta para solucionar el problema que puedes ver aquí

El problema parece que viene que va a buscar la información a varios DNS y al haber algunos de ellos caidos, se demora el proceso. El usuario que hizo el script, propone una conexión UDP, pero para ello necesitamos saber la IP del DNS

Categorías: Firefox, Google, Meponeprogramar, PHP
Tags: , , ,
Comentarios: 189 comentarios »