MySQL lo gestisce bene:
CREATE TEMPORARY TABLE t1 (
c VARCHAR(10)
) CHARACTER SET ="latin1";
INSERT INTO t1 VALUES ("æøå");
SELECT * FROM t1; # 'æøå'
ALTER TABLE t1 CHARACTER SET = "utf8";
SELECT * FROM t1; # 'æøå'
DROP TEMPORARY TABLE t1;
EDIT:E non ci sono caratteri latin-1 che non possono essere memorizzati come utf-8, quindi non dovresti perdere dati