Archivo de abril de 2010

Separar nombre y extension en bash

Miércoles, 21 de abril de 2010

Supongamos que queremos hacer un script en bash que recorra los nombres de todos los ficheros de un directorio (estos nombres siguen el patrón nombre.ext, por ejemplo imagen01.png, imagen02.png, grafico.png,…)

Si guardamos en foo la ruta a nuestro fichero:

foo=/tmp/mi.directorio/imagen.png

Podemos usar las siguientes intrucciones de manipulación de strings en Bash:

path = ${foo%/*}
Para obtener: /tmp/mi.directorio

file = ${foo##*/}
Para obtener: imagen.png

base = ${file%%.*}
Para obtener: imagen

ext = ${file#*.}
para obtener: png

Todos estos trucos y más, los podéis ver en detalle en este artículo ya muy viejito pero igual de útil que al principio de Linux Gazette

PDF Download    Enviar artículo en formato PDF   

Linex Software libre

Miércoles, 21 de abril de 2010

La Junta de Extremadura apuesta por las nuevas tecnologías como motor de progreso para la sociedad. El mundo ya está más que convencido del papel que desempeñan los ordenadores, Internet o de las grandes redes telemáticas en el futuro de la sociedad. Pero hace casi una década formular un plan estratégico que comprometiese unas más que considerables inversiones públicas en su desarrollo resultaba bastante más arriesgado.

vía gnuLinEx.org.

PDF    Enviar artículo en formato PDF   

Error con acentos y eÑes en PHP/MySQL [Solución Definitiva]

Miércoles, 21 de abril de 2010

Muchas veces al crear una web con PHP y MySQL, ocurre un problema al introducir y mostrar datos: estos se alteran acabando en áóñ y cosas parecidas. Cuando me pasa esto suelo empezar a toquetear cosas, cambiar charsets y traducir a ? o ? pero nada funciona. El problema es que la configuración del cotejamiento de los caracteres especiales como acentos, eñes y demás símbolos no es el mismo entre la base de datos (MySQL), el lenguaje de servidor (PHP) y el servidor (Apache).

Así que me puse a buscar y después de encontrar comentarios buenísimos de gente por los foros puedo hacer un resumen de todo lo necesario cuando nos ocurre un problema de estos (id haciendo y testeando si ya funciona todo bien paso a paso).

Guía paso a paso para solucionar el problema de los acentos y eñes

1. Al crear la base de datos MySQL, asegúrate que los campos string y demás esten en utf8_spanish_ci y el cotejamiento de las tablas en

utf_unicode_ci (más tarde en Operations > Collation de phpMyAdmin se puede cambiar)

2. Pon en el <head> de todos los archivos HTML:

<meta http-equiv=”Content-type” content=”text/html; charset=utf-8″ />

3. Y en los puramente PHP (que muestran XML, llamadas de AJAX, APIs…) pon el código:

header(“Content-Type: text/html;charset=utf-8″);

4. Al crear la conexión de PHP con MySQL, envía esta consulta justo tras la conexión:

mysql_query(“SET NAMES &apos;utf8&apos;”);

5. Quita el DefaultCharset del Apache o modifícalo

6. Como última y desesperada opción, quita todos los htmlentities();

vía Error con acentos y eÑes en PHP/MySQL [Solución Definitiva] by XaviEsteve.

PDF Download    Enviar artículo en formato PDF