Mira, a mi entender el problema básico es que no estás práctico en MySQL. No estás respetando la sintaxis de MySQL, por lo que te sugiero antes de seguir adelante que leas el manual de referencia.
CONVERT
no es una cláusula de CREATE TABLE, por tanto
no la puedes usar allí.
El uso de CONVERT no tiene NADA que ver con CREATE TABLE. Se usa para otra cosa.
Cita: he comprobado que si creo la base de datos mediante el asistente de PHPMyAdmin, y después creo la tabla poniendo los dos campos a UTF8 funciona
Eso es totalmente irrelevante. En todo caso prueba que estás ejecutando
mal el script de creación que te postee en mi mensaje anterior. O ni siquiera lo estás probando.
Tengamos claro una cosa: phpMyadmin, como te dije,
no es la base de datos, es sólo una interfaz que permite acceder a MySQL de una forma amigable.
En ese contexto, cuando usas el "asistente" de phpMyadmin, por detrás de lo que ves es PHP el que crea las sentencias y las envía a ejecutar a MySQL.
phpMyadmin no crea las tablas. Es MySQL quien las crea. No es lo mismo.
Ahora bien, si el script te falla, es porque lo estás corriendo mal, no porque esté mal escrito, como ya te dije al comprobarlo yo mismo en mi PC por dos medios diferentes.
Lo que sería bueno es que nos expliques claramente a qué te refieres al decir
Cita: Si añado esta SQL no me funciona
porque a mi no me termina de quedar claro exactamente cuál es el problema.
¿No crea las tablas?
¿Las crea pero no tienen el formato o estructura que buscas?
¿Devuelve errores o warnings? ¿En qué contexto? ¿Ejecutadas desde dónde?
Sería importante en este punto que nos mostraras por medio de una captura de pantalla cómo estás intentando ejecutar ese script de MySQL (y sólo MySQL) en phpMyadmin.
¿Podrías postear eso?
Por otro lado, quiero que te quede claro un tema: En los foros de BBDD no tratamos temas de programación y no se postea código de programación. Sólo SQL y temas de BBDD.
Eso dicen expresamente las normas del foro.