Configurar codificación UTF-8 en apache+mysql+php

A la hora de empezar un proyecto web, una de las primeras cosas a tener en cuenta debería ser la elección de la codificación de los documentos y datos. Hoy en día el estándar podría decirse que es UTF-8, la manera actuar para configurar correctamente nuestra codificación UTF-8 en nuestros proyectos php+mysql podría ser la siguiente:

1. Configuración de UTF-8 en apache

En caso de no contar con acceso a la configuración de apache, lo cual es común si usamos hosting de terceros, la codificación la definiremos en el archivo .htaccess del directorio raiz de nuestra web. Añadimos la siguiente línea en el archivo .htaccess:

AddDefaultCharset utf-8

2. Configuración de UTF-8 en mysql

En phpmyadmin deberemos configurar nuestras tablas con cotejamiento utf8_spanish_ci.

3. Configuración de UTF-8 en consultas a mysql desde php

Después de hacer el «mysql_select_db» añadir la siguiente función:

mysql_query("SET NAMES 'utf8'");

4. Configuración de UTF-8 en html

En el head añadimos lo siguiente:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

5. Configuración de UTF-8 en nuestro editor de texto

Por último y no por ello menos importante, debemos configurar adecuadamente el editor que usemos para escribir nuestro código.

Evitar infectar PCs con virus de Sticks USB

Al igual que pasara antaño con los disquettes de 3 1/2, últimamente están proliferando los virus que se transmiten de ordenador a ordenador vía memorias USB. Si bien algunos de estos dispositivos cuentan con un switch para poner en modo sólo lectura el dispositivo, no es lo más común ni nos protege en caso de que nos olvidemos de activarlo.

Podemos evitar que nuestros sticks USB actúen como transportadores de virus con un ingenioso truco:

– En el raiz del stick debemos borrar el archivo «autorun.inf» en caso de que exista pues es el encargado de copiar los virus a los PCs en cuanto se conecta. En caso de que el archivo esté protegido contra escritura/borrado podríamos eliminarlo desde Linux sin problema.

– Creamos un directorio de nombre «autorun.inf» en el raiz del stick. De esta manera cuando un virus entre a nuestro stick no podrá crear su propio archivo «autorun.inf» ya que ya existe el directorio con ese nombre.

– En una ventana de sistema acedemos al raiz de nuestro stick y cambiamos los atributos del directorio (+oculto +sólo lectura +sistema):

attrib +h +r +s autorun.inf

Con esto no evitamos que entren virus a nuestras memorias USB pero al menos no infectarán nuestros PCs. Incluso puede ser interesante estudiar los archivos de virus que se van acumulando, siempre teniendo cuidado de no ejecutarlos.

Servidor web instantáneo con python

Con python es posible iniciar un servidor web minimalista en el directorio actual especificando un puerto (en este caso 8013):

python -m SimpleHTTPServer 8013

El servidor ignora letras de unidad y rutas relativas (p. ej «..») pero no cuenta con ningún otro sistema de seguridad. Una forma rápida y sencilla de compartir archivos en una red local.

Error al descargar módulo iwl3945 en Ubuntu 9.04

En Ubuntu 9.04 (Jaunty Jackalope) se está sufriendo el bloqueo total del sistema al descargar el módulo iwl3945.

El escenario para reproducir este error es el siguiente:

sudo -s

– tarjeta wifi:

lspci -vnvn | grep Wireless

0c:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)

–  kernel:

uname -a

Linux chewe 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux

– módulo:

lsmod | grep iw

iwl3945

– acción:

modprobe -r iwl3945

Resultado: Bloqueo total del sistema operativo.

Solución:

Aplicar el siguiente parche: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/345710/comments/3

– Otra posible solución más rápida sería desactivar la interfaz antes de descargar el módulo y volver a levantarla después:

ifconfig wlan0 down
modprobe -r iwl3945