Script de corrección de CHARSETS utf-8 mal exportados

Estuve esta tarde trabajando en la migración de la web de www.glug.es a Drupal 5, desde un Drupal 4.6, vamos todo un reto. He tenido una serie de complicaciones al exportar la base de datos ya que tiene un charset latin1_swedish_ci y un collate latin1 pero que no hay manera de que me lo exporte bien por lo que los acentos, las ñ y todo carácter que no estea en ASCII lo pilla mal, por lo que como soy un vago, pero un Vago Bueno™, me puse manos a la obra y me he currado un cutre script en bash que me convierte la gran base de datos de la web citada. Aquí os lo dejo para regocijo del personal:

#!/bin/bash
cp $1 $(basename $1 .sql)."orig.sql";
echo "";
echo "Script de corrección de CHARSETS utf-8 mal exportados";
echo "         ---- Creado por Fran Diéguez ---";
echo "               --- Versión 0.1 ---";

echo "Vocais Acentuadas...";
    echo "	- Efectuando substitución de á";
        sed "s/á/á/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/ã¡/á/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de é";
        sed "s/é/é/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1
        sed "s/ã©/é/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de í";
        sed "s/í/í/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/ã­/í/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/í/í/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ó";
        sed "s/ó/ó/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1
        sed "s/ã³/ó/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ó";
        sed "s/Ó/ó/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/ã“/ó/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ú";
        sed "s/ú/ú/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/ãº/ú/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
echo "Vocais acentuadas maiúsculas...";
    echo "	- Efectuando substitución de á";
        sed "s/Ã/á/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/Á/á/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de é";
        sed "s/É/é/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de í";
        sed "s/Í/í/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ó";
        sed "s/Ó/ó/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ú";
        sed "s/Ú/ú/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
echo "Vocais Especiais...";
    echo "	- Efectuando substitución de à";
        sed "s/Ã /à/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de õ";
        sed "s/õ/õ/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ü";
        sed "s/ü/ü/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        sed "s/ã¼/ü/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ê";
        sed "s/ê/ê/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ô";
        sed "s/ô/ô/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de õ";
        sed "s/õ/õ/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ç";
        sed "s/ç/ç/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
echo "Letras especiais...";
    echo "	- Efectuando substitución de ñ";
        sed "s/ñ/ñ/g" $1 > temp.sql;
        sed "s/ã±/ñ/g" $1 > temp.sql;

        á±
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de º";
        sed "s/º/º/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ª";
        sed "s/º/º/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de z";
        sed "s/ã§/z/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
        ã§
echo "Signos de puntuación..."
    echo "	- Efectuando substitución de ¡";
        sed "s/¡/¡/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ¿";
        sed "s/¿/¿/g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
    echo "	- Efectuando substitución de ";
        sed "s/Â / /g" $1 > temp.sql;
        rm $1;
        mv temp.sql; $1;
echo "Todavía faltan algúns carácteres - sigo no traballo...";
echo "Para máis información vai a www.mabishu.com";