Web Archive

Migraciones en MySQL y caracteres especiales

Muchas veces cuando estás trabajando con aplicaciones web o standalone que trabajan contra Bases de datos te ves en la necesidad de hacer un volcado de tu BD para hacer un backup o para migrar la aplicación. El problema es que en Mysql y con columnas con tipos de datos text o varchar que continen datos con caracteres especiales como á, ó, ç o ñ, letras acentuadas, etc. al hacer el volcado descubres que aparecen simbolos extraños. Por ejemplo

'paseos'

resulta en un

âpaseosâ

en la base de datos y que escribe al renderizarlo un feo

€™paseos’

Esto se supone que es un problema popular cuando se está moviendo de MySQL 4.0 a 4.1 o posteriores, pero también aparece cuando estás moviendo los datos de una base de datos a otra en la misma instalación de MySQL. El mover de una instalación 4.1 a otra 4.1 también da como resultado “los caracteres locos”. Y para más INRI, me ha tocado en alguna ocasión hacer backups de bases de datos críticas en MySQL 5 con los mismos resultados.

La petite mort

No dan escalofríos al ver el video?

Configuración de Lighttpd sobre Linux con PHP5, Ruby on Rails y SSL

Recientemente he migrado mi server casero de Apache a Lighttpd, con la eterna promesa de la reducción consumo de recursos, sobre todo para deploys de múltiples aplicaciones en Rails. No se si es una panacea, pero aquí voy a relatar los puntos más algidos sobre la configuración de un server de estas características, así como mis valoraciones iniciales e intermedias.

Primer comentar que mi principal objetivo era conseguir una configuración lo más simplificada y menos estresante de cara a minimizar el tiempo de configuracion. Lighttpd es inmediato en GNU/Linux, y con pocos pasos tenemos un server para desarrollo muy bueno.

Vamos allá.

Microformateando en la web 3.0

Micrormatos

No teníamos con suficiente con la revolución 2.0 que nos ha acercado la web más al escritorio, con aplicaciones mucho más amigables y accesibles, e infinitamente más sociables, véase Facebook, flickr, Google Maps; lo que ya está llamando a las puertas la web 3.

¿Pero que es esto de la web 3.0?

Básicamente es la web que tenemos añadiéndole una capa de información semántica. Para mortales: hoy día la web es una gran maraña de papeles, enlaces e información sin ordenar, para buscar algo en ella directamente tendrías que recurir al gran hermano, o apañartelas por otros medios. La web 3.0 viene a poner un poco de orden mediante la categorización de los contenidos, de forma que cuando un buscador explore un site sepa exactamente que tema está tratando y clasificarlo en consecuencia.

¿Que me soluciona?

“Soluciona” todos los problemas de semántica en una página web, esto es, el propósito de cada párrafo o imagen, o si un bloque es un dirección, un evento, or wherever you what.

Vale, ¿y como funciona?¿Necesito un nuevo lenguaje?

Aquí es donde entran los microformatos. Tranquilo no son nada de otro mundo. ¿Sabes HTML? Entonces sabes Microformatos.

Los microformatos son pedazos de código HTML con las etiquetas usuales a las que se les aplica un tipo de clases (class=””) especiales. La gente de microformats.org trabaja colaborativamente para encontrar la forma más optima de etiquetar los diferentes bloques. Entre los consensos que podemos encontrar hCalendar (para definir eventos), hCard (para definir nuestra tarjeta) y muchos más.

¿Pero si es código HTML para que me sirve a mí?

A ti no mucho pero imagina las posibilidades que tiene si creas complementos para Firefox que lean esos datos y te los muestren… imagina a los distintos web spiders y navegadores y en como les ayudaría a extraer información de forma automática para utilizar en otras aplicaciones.

Por ejemplo aquí teneis mi tarjeta definida con hCard:

<div id="hcard-Fran-Diéguez" class="vcard">
    <a class="url fn" href="http://www.mabishu.com/blog">Fran Diéguez</a>
    <a class="email" href="mailto:fran.dieguez [at] glug [punto] es">fran.dieguez [at] glug [punto] es</a>
    <div class="adr">
        <span class="locality">Caldas de Reis</span>
        <span class="region">Pontevedra</span>
        <span class="country-name">Spain</span>
    </div>
    <a class="url" href="aim:goim?screenname=pakodieguez">AIM</a>
</div>

Si quereis más información sobre estos métodos de tageo de bloques HTML pasaros por aquí o descargaros esta cheatsheet

 

Page 3 of 3