Prueba:   
Código sql:
Ver original- CREATE TABLE  `idiomas` ( 
-   `id_idioma` INT(11) NOT NULL AUTO_INCREMENT, 
-   `idioma` VARCHAR(10) NOT NULL, 
-   `hablado` VARCHAR(10) NOT NULL, 
-   `escrito` VARCHAR(10) NOT NULL, 
-   `comprension` VARCHAR(10) NOT NULL, 
-   `id_candidato_idiomas` INT(11) DEFAULT NULL, 
-   PRIMARY KEY  (`id_idioma`) 
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
Cuando se define el CHARSET para l atabla, no es necesario indicarlo para los campos, por default toma el charset general de la tabla.
Se deben indicar, si, cuando el CHARSET corrrespondiente al campo no coincide con el de la tabla.