Importación MySQL con UTF-8

Solucionar error al importar una base de datos MySQL con UTF-8

Tiempo estimado de lectura: 3 minutos

El error al importar una base de datos MySQL con UTF-8 es uno de los problemas más típicos que se nos presentan cuando necesitamos trasladar un sitio web de un servidor a otro conservando la misma base de datos. La necesidad de exportar dicha base de datos de un servidor para importarla en el otro puede originar esta incidencia, que suele dar demasiados dolores de cabeza a algunos desarrolladores.

La cuestión es que estoy más que seguro que en más de alguna ocasión os habréis encontrado con el típico problema de importar una base de datos MySQL y que, al hacerlo, los caracteres como la “ñ” o los acentos no solo no se han importado, sino que, además, el contenido se corta justo en ese caracter y el proceso de importación se corta de manera fulminante, dejando toda la información a medio importar.

Las múltiples soluciones que se nos puedan ocurrir importando una y mil veces la base de datos desde el fichero SQL generado, eligiendo cada vez una codificación diferente (utf8_general_ci, latin1_spanish_ci, etc…) puede hacernos perder mucho tiempo y esfuerzo, ya que nada de eso funcionará. Descubrir cómo solucionar el error al importar una base de datos MySQL con UTF-8 está a un sólo clic, porque la solución es más rápida y sencilla de lo que parece.

El problema no está en el proceso de importación

No es necesario volverse loco importando la base de datos cada vez con una codificación diferente. Este proceso funciona correctamente. No creas que los creadores de la herramienta phpMyAdmin han cometido fallos en la programación del código fuente, no. Funciona, y la verdad es que muy bien.

El problema hay que buscarlo en el fichero generado cuando se exportó la base de datos. En este fichero, cuya extensión suele ser “.sql” está la clave para solucionar este problema. La cuestión es que debe haber sido exportado con la codificación UTF-8, que es la que aparece por defecto cuando se exporta algo desde la herramienta phpMyAdmin. Si tienes la posibilidad de volver a generar dicho fichero para exportar la base de datos, te recomiendo que lo hagas de nuevo asegurándote de que se debe exportar con la codificación UTF-8 y con formato SQL.

Bien, la cuestión es que el fichero sí está con esta codificación, pero no su contenido. Por lo tanto, hay que cambiar este aspecto. ¿Cómo? Utilizando el programa Notepad++. Si no lo tienes, descárgalo e instálalo en tu ordenador.

Solución al error al importar una base de datos MySQL con UTF-8

¡ATENCIÓN! Aquí está la clave para solucionar el problema: Abre el fichero SQL que contiene la base de datos exportada con el programa Notepad++. En el menú, elige la opción FORMATO y luego haz clic en CONVERTIR EN UTF-8.

Al convertir el contenido del fichero a UTF-8 verás que todos los caracteres como la “ñ” o las vocales con acento se habrán sustituido por 3 caracteres (el primero siempre una “x”) y que están resaltados con un fondo diferente respecto al resto de caracteres del fichero. Guarda esta versión del fichero con otro nombre (por ejemplo, añadiendo al final “utf8”) para diferenciarlo del fichero original y no reemplazarlo.

Captura 1: base de datos MySQL con UTF8
Paso1: convierte el contenido del fichero con la codificación UTF-8.

El siguiente paso es asegurarse que el cotejamiento de la base de datos donde vas a importar el fichero es la adecuada. Esto debes hacerlo desde la herramienta phpMyAdmin y, concretamente, en las opciones de la base de datos donde se importará el fichero con los datos. Tienes que establecer la codificación en “utf8_general_ci”, así que si no está ya así configurado, cámbialo.

Por último, sólo tienes que importar el nuevo fichero SQL que hemos convertido (el acabado en UTF8) como hacías antes, asegurándote que la codificación es UTF-8. Una vez hecho esto, puedes comprobar cualquier tabla de la base de datos mirando el contenido de sus registros y comprobar que la información está como debe estar, es decir, con “ñ”, acentos y demás.

Captura 2: base de datos MySQL con UTF8
Paso 3: importa el nuevo fichero con codificación UTF-8

Como has podido ver, con poco esfuerzo y en poco tiempo hemos encontrado solución al error al importar una base de datos MySQL con UTF-8. Espero que esta pequeña guía te haya ayudado y te invito a participar en este artículo con tus experiencias, comentarios, sugerencias y dudas sobre este problema.

Y gracias por leerme.

Solucionar error al importar una base de datos MySQL con UTF-8
4.8 (96.67%) 6 votes

Óscar Domínguez Merino

PROGRAMADOR web de Zaragoza, especializado en OPTIMIZACÍÓN de sitios web y, sobre todo, experto en POSICIONAMIENTO natural de sitios web en los buscadores de Internet. Especializado en Marketing Online.

69 thoughts on “Solucionar error al importar una base de datos MySQL con UTF-8

  1. Hola! veo que ayudas a muchos con problemas sobre MySQL y me he animado a plantear mi error

    Tengo un programa punto de venta que trabaja con mySQL y estoy tratando de migrar mi información a otra computadora.

    He probado en varias maquinas virtuales Windows 64 bits y me funciona bien el programa me carga y me deja trabajar; Pero en mi PC real, nada mas no logro hacerlo, ya me cansé de buscar llevo 2 días jaja. Cambié la versión del mySQL y del conector OBDC a Win 64 porque pensé que ese era el problema, ya hice todos los pasos, aparentemente hago los MISMOS pasos en mis 2 maquinas que tienen similar sistema operativo y todo, pero en una no me logra importar sin errores la base de datos, pero no entiendo porque siendo un entorno similar no me deja hacerlo, el error que me arroja es el siguiente:

    No se pudo conectar: error al conectar con servidor. la entrada no es una cadena base 64 válida porque contiene un carácter que no es base 64, mas de dos caracteres de relleno o un carácter de relleno que no es un espacio en blanco

    Que solución crees que se le pueda dar???
    Desde ya gracias

    1. Hola Julio, gracias por tu comentario.

      Sobre tu caso concreto, es posible que sea una versión diferente de MySql o de Apache en tu máquina local. O la configuración de los ficheros “.ini”. O también puede ser que esté configurado que al saltar cualquier error se pare el proceso, situación que se puede obviar para errores vanales que no influyen en los datos. La verdad es que sin saber más me resulta difícil darte alguna opción más. Espero haberte ayudado por lo menos a descartar alguna opción.

      Gracias de nuevo y un saludo.

    1. Hola Víctor, gracias por tu comentario.

      Es raro lo que te pasa. Asegúrate que el fichero sql no está protegido contra escritura o que esté siendo usado o esté abierto por otro programa.

      Un saludo.

  2. buenas tardes oscar, muy bueno el tuto, solucione lo de las ñ y los acentos pero al crear un array si hay alguna ñ o acento no me devuelve valores

    $conexion = mysqli_connect($server, $user, $pass,$bd);

    $sql = “SELECT * FROM votaciones WHERE idtel = ‘$idtel'”;

    $result = $conexion->query($sql);

    if ($result->num_rows > 0) {

    while($row[] = $result->fetch_assoc()) {

    $json = json_encode($row);

    }
    } else {
    echo “0 results”;
    }
    echo $json;
    $conexion->close();

    podras orientarme por favor, mis bases estan en utf8_general_ci al igual que las columnas de esta tabla

    gracias de antemano

    1. Hola Alberto. Gracias por tu comentario. Me alegro que el artículo te sirviese para solucionar tu problema.

      Sobre lo que comentas, pueden ser dos cosas: 1) asegúrate que el fichero PHP tiene la codificación UTF-8; y 2) que tanto la conexión a la base de datos como las funciones json también usan UTF-8.

      Un cordial saludo.

    1. Hola Luiso.

      Gracias por tu comentario. Me satisface haberte sido de ayuda este artículo que escribí.

      Un cordial saludo.

  3. Buenas tardes Óscar, ante todo felicitarte por el contenido de calidad que tienes a bien compartir en tu blog. He probado y reprobado diferentes opciones de solución para el error “#1064” al momento de importar una base de datos MySQL y no le encuentro la “tecla” al problema. He cambiado sintaxis y el formato de codificaciones… te adjunto un captura de pantalla al respecto: https://image.ibb.co/miF9vy/2018_05_31_mysql.jpg

    Estoy realizando la importación desde un servidor a otro, la base de datos es de un sitio web hecho en wordpress, al no tener mucha información, estoy “ad portas” de volver a crear todo ya que esto del MySQL me esta quitando un tiempo no pensado, creo que la exportación desde el otro servidor puede haber estado dañada, es la primera vez que se me presenta este impase, anteriormente lo solucione en otro proyecto con el cambio general a “utf-8”, pero ahora nada de nada.

    Te puedo compartir la base de datos en privado si por ahí tienes un tiempo libre.

    Gracias, saludos cordiales.

    1. Hola José, gracias por tu comentario.

      La imagen que me mandas con tu error no me ofrece mucha información, pero creo que el error está en el llamamiento de la sentencia SQL. ¿La ejecutas directamente en phpMyAdmin o a través de algún script en PHP? Cosas que se me ocurren: según la versión y la sentencia, a veces la BD destino tiene que estar ya creada, aunque vacía (sin tablas); la codificación de ambas BD debe ser igual.

      Si quieres, puedes compartirme tanto BD origen como BD destino para probar yo a ver qué ocurre.

      Un cordial saludo.

      1. Hola Óscar, lo ejecuto directamente en phpMyAdmin, pero ya pude solucionar el inconveniente de forma inesperada… buscando en unos foros en inglés, probé algo tan simple como agregar una línea en blanco en la fila 1 del código, arriba de los comentarios y listo, lo guarde y al importarlo nuevamente ya no tuve problemas.

        Estoy adjuntando una captura de pantalla (https://image.ibb.co/f0diiT/2018_06_06_mysql.jpg) al respecto para compartirla con otros usuarios a los que quizás les pueda servir.

        También leí que luego de agregar la línea en blanco, puede surgir en algunos casos, un error referente al “SET time_zone”, el cuál se solucionaría colocando la información correspondiente al servidor. A mi no se me presento ese error, pero fue un detalle interesante a considerar por algunos usuarios de EU y Europa.

        Saludos.

        1. Hola José, gracias por tu comentario.
          La verdad es que me parece sorprendente que algo tan raro como añadir una linea en blanco al principio del fichero haya sido la solución. Esto me hace pensar que en materia de programación sabemos mucho pero también sabemos poco. ¡Qué misterio! Bueno, me alegro que encontrases solución a tu problema. Muchas gracias por tu aportación de información extra.
          Un cordial saludo.

  4. Cuando quiero crear una base de datos en el Host Local

    Esta opcion funciona
    $cfg_db_sql = ‘CREATE DATABASE ‘.$cfg_nombre.’ DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci’ ;

    Esta opcion NO funciona
    $cfg_db_sql = ‘CREATE DATABASE ‘.$cfg_nombre.’ DEFAULT CHARACTER SET latin1 COLLATE utf8_general_ci’ ;

    1. Hola Nando, gracias por tu comentario.

      Cuando ejecutas la sentencia SQL, ¿estás seguro de que esta en ejecución en local tanto el servidor apache como el SQL? Si es así, el siguiente paso es ver si la versión de MySQL es la misma. De todas formas, no debería fallar, ya que la instrucción SQL es similar. ¿Qué error te da, me lo puedes poner? Es importante que me pongáis en vuestros comentarios el error que os da para saber de qué se queja el sistema, así os podré ayudar mejor.

      Un cordial saludo.

  5. Hola Oscar tengo un problema al importar datos de excel a mysql worckbench solo me reconoce una parte de la base de datos no se logra pasar toda la base de datos del excel como podria solucionarlo GRACIAS

    1. Hola, gracias por tu comentario.

      Los motivos pueden ser varios: el fichero es muy grande, el servidor espera poco tiempo, base de datos de destino diferente a la de origen, errores en la sentencia SQL, datos a importar con caracteres inválidos, etc. Si me puedes indicar el mensaje de error que te arroja el sistema quizás te pueda concretar más.

      Un cordial saludo.

  6. Hola

    Buenas Tardes:
    tengo un problema al importar el archivo .csv ya que al tratar de importarlo comienza el proceso pero al final no carga ningún registro, no hay pantalla de error ni nada, ya he revisado que cada campo tenga el tipo de dato correspondiente; espero me puedo apoyar.

    1. Hola Janeth, gracias por tu comentario.

      Una causa probable de esto que te pasa puede estar en el tiempo de espera del servidor. Por defecto, el servidor espera un tiempo a que el fichero SQL se suba y luego se procese. Si el fichero pesa mucho, tarda más en procesarse y si el tiempo de espera es inferior al tiempo que necesita el fichero para procesarse el sistema no lo termina de procesar. Busca en Google como aumentar el tiempo de espera de phpMyAdmin y encontrarás cómo hacerlo. Espero que con esto se pueda resolver tu problema.

      Un cordial saludo.

    1. Hola Cristian.

      Gracias por tu comentario. ¿Puedes pegarme aquí el mensaje de error que te da? Así podré ayudarte mejor.

      Un saludo.

  7. Hola que tal Oscar, yo tengo el siguiente problema:

    Instalando: Error: A database query has failed. Is the entered database information correct? Does the account have available disk space? type = mysql host = localhost database = Guajiro username = beg-admin password = **HIDDEN** Technical information: method = query errstr = MYSQL ERROR 1146: Table ‘Guajiro.users’ doesn’t existSELECT u.`ID` FROM `users` u, `usermeta` m WHERE u.`ID`=m.`user_id` AND m.`meta_key`=’user_level’ AND m.`meta_value`=10 ORDER BY u.`ID` ASC LIMIT 1

    Alguien podría ayudarme en esto? Me estoy rompiendo la cabeza en encontrar una solución, no se si la que tu mencionas pueda funcionar! de igual forma lo voy a intentar. Gracias, quedo en la espera de sus comentarios.

    1. Hola Lucy, gracias por tu comentario.

      El error que te da es que esa sentencia SQL no es correcta. Se queja de que la tabla “users” no existe porque en la sentencia SQL no se define, ya que te falta el parámetro AS. La sentencia SQL no sabe cual es la tabla “u” ni la tabla “m” que pones en la sentencia. Debes ponerlo así: SELECT u.`ID` FROM `users` AS u, `usermeta` AS m…

      Espero que esto te ayude a construir bien tu sentencia SQL.

      Un saludo.

    2. Muchas gracias por tu apoyo Óscar, ya revise lo que me recomendaste pero me sigue apareciendo esto:
      mysql database connection failed:
      host = localhost
      database = Guajiro
      username = beg-admin
      password = **HIDDEN**
      errstr = Could not connect to `localhost` using the username `beg-admin` and password **HIDDEN** (mysql) —

      Ya revise mi usuari y contraseña y esta bien, no se por que me sigue marcando un error 🙁 sabes a que se debe?

      1. Hola Lucy.

        Ese nuevo error que me comentas es un error de acceso por usuario o contraseña incorrectos. No cabe otra posibilidad. Revisa bien. A veces al usar el copy/paste nos llevamos espacios en blanco (es sólo una idea).

        Un saludo.

    1. Hola Dario. Gracias por tu comentario.

      Este error suele salir cuando intentas importar una base de datos origen con una versión de MySQL diferente a la base de datos destino. Para solucionarlo, debes volver a exportar la base de datos origen mediante el método de exportación personalizado eligiendo después la versión correcta de MySQL en la opción “Sistema de base de datos o versión antigua de servidor MySQL con la que maximizar la compatibilidad de la salida.” Con esto le estarás diciendo que la base origen sea compatible para después importarla en la base destino.

      Espero que te sirva de ayuda.

      Un cordial saludo.

  8. Por si a alguien le ayuda, yo tenía el siguiente error:

    Análisis estático:

    Se encontraron 2 errores durante el análisis.

    1.Comienzo inesperado de declaración. (near “phpMyAdmin” at position 0)
    2.Tipo de declaración desconocida. (near “SQL” at position 11)
    consulta SQL:

    phpMyAdmin SQL Dump SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”

    MySQL ha dicho: Documentación

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘phpMyAdmin SQL Dump

    SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”‘ at line 1

    Oscar resolvió mi problema diciéndome lo siguiente: “Creo que el problema es que el fichero que estás importando lleva más cosas que simples sentencias SQL para crear la base de datos. Eso que pone de phpMyAdmin SQL Dump SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO no es una sentencia SQL, sino un comando LINUX para importar bases de datos mediante consola. Y eso phpMyAdmin no lo entiende.

    Tienes que editar ese fichero que importas y dejar sólo las sentencias SQL, que es lo que entiende phpMyAdmin. Si puedes volver a generar el fichero, controla que sólo exporte sentencias SQL”.

    Espero que también os ayude a vosotros este comentario.

    Un saludo a todos y gracias de nuevo, Oscar.

    1. Hola Carlos.

      Gracias por aportar aquí la solución que te envié de forma privada. Me satisface poder haberte ayudado a resolver tu problema.

      Un cordial saludo.

  9. Excelente articulo Oscar,

    He seguido todos los pasos que indicas pero al importar la base de datos me sigue dando este error.

    phpMyAdmin – Error
    Incorrect format parameter

    Gracias!!

    1. Hola. Gracias por tu comentario y tu valoración.

      Sobre tu problema, necesitaría más información. Tiene pinta de ser un error en la instrucción SQL o en la forma de proceder con la importación. Fíjate que el mensaje que te arroja es sobre el formato.

      Un cordial saludo.

      1. Hola Óscar,
        Después de darle muchas vueltas sin conseguir resultados lo he echo con el plugin All-in-One WP Migration.
        Quería migrar una web manualmente pero se me complicó lo de la base de datos.

        Muchas gracias por tu tiempo.

  10. Oscar, tengo una conexión PDO odbc a una .mdb, y cuando hago SELECT me trae los caracteres especiales como �…???

    $cnctPDO = new PDO(“odbc:Driver={Microsoft Access Driver (*.mdb)}; DBq=$filePath; Uid=; Pwd=; charset=UTF-8”);
    $sqlPDO01 = “SELECT * FROM myTable”;
    $cnsltPDO01 = $cnctPDO->query($sqlPDO01);

    como te comento los datos de la consulta están correctos en la base de datos .mdb, pero los trae mal codificados.

    Gracias

    1. Hola José Antonio, gracias por tu comentario.

      Como bien dices, el problema está en la codificación de la conexión PDO. Revisa bien la instalación del plugin. Revisa que al principio de tu fichero PHP del que has pegado estas líneas de código tenga esta línea (si no está, añádela):

      header(‘Content-Type: text/html; charset=utf-8’);

      Prueba a ver con esto.

      Un saludo.

  11. Hola Óscar gracias por el post. Sigo todos los pasos pero siempre me aparece “La conexión ha sido reiniciada”. Tras unos minutos no se importa nada a la BD. No tengo ningún error en logs php ni nginx, el fichero es de 9MB y admite 128MB, he subido los tiempos en Nginx y php.ini a 2, 4, 6min, pero nada. El cotejamiento de la BD original era utf8_unicode_ci. Al convertir con Notepad a UTF-8 como indicas no se me estropean los acentos a hexa, siguen igual, porque en la barra de estado se pasa de UTF-8 a UTF-8-BOM. ¿Alguna idea? Gracias.

    1. Bueno, conseguí arreglarlo, por si a alguien le sirve: abrir el fichero en Linux-Ubuntu “/usr/share/phpmyadmin/config.inc.php” y modificar
      $cfg[‘UploadDir’] = ”;
      La ruta por defecto viene vacía, hay que poner una con el directorio donde se cargan los archivos SQL por otros medios que no sean phpMyAdmin (por ejemplo, ftp). Esos archivos son los que están disponibles en el cuadro desplegable al hacer clic en la base de datos o en el nombre de la tabla, luego en la pestaña Importar.
      Para que los pueda procesar PhpMyAdmin la carpeta y archivos deben ser accesibles por el usuario del proceso PHP (www-data) con permisos de propietario o grupo.
      Ej:
      $cfg[‘UploadDir’] = ‘/home/miuser/uploads/’;
      Grabar, reiniciar servicios php y nginx y probar.

      1. Hola Enrique.

        Gracias por tu comentario y por contarnos tu experiencia y solución a tu problema. En tu caso, era un problema de configuracón del phpMyAdmin en tu S.O.

        Un saludo.

    1. Hola Carlos. Gracias por tu comentario.

      Tu problema es con la fuente de datos del WIDGET, que no tendrá la misma codificación. Es decir, la web o aplicación que genera el RSS no está en UTF-8.

      Un saludo.

  12. Hola una pregunta
    Cuando realizo una consulta de los datos de mi base me salen las palabras con tilde así: �
    He realizado las soluciones que publican algunas paginas y no he podido solucionar el problema, usted que método me podría recomendar o alguna solución que tuviera, me seria de mucha ayuda, gracias y saludos.

    1. Hola Johnny, gracias por dejar tu comentario.

      Tienes que mirar si el fichero que intentas importar ya viene así con los datos. Eso significa que, a lo mejor, se exportó con otra codificación diferente a la UTF-8. En este caso, te recomiendo que vuelvas a exportar la base de datos con la codificación correcta. Otro sitio donde puedes mirar en si la base de datos donde importas el fichero está codificado también en UTF-8. A veces este pequeño detalle se nos pasa. Para lo demás, con lo que se comenta en el artículo debería ser suficiente.

      Si aún así no lo consigues, estaré encantando de echarte una mano. Ponte en contacto conmigo.

      Un cordial saludo.

  13. Buenas tardes, estoy mirando un sitio web, creo la base de datos, creo el nombre y la contraseña de la base de datos, tambien, importo la base de datos del sitio web,y se carga todo en orden, pero al entrar en la parte de bases de Bases de datos Mysql, me dice que esta en 0.0 de espacio.

    1. Hola Leonardo. Gracias por tu comentario.

      No te preocupes por eso. Si has importado la base de datos y ves que tienes tablas y las tablas tienen datos tras la importación, lo has hecho bien. Lo que pasa es que muchos paneles de hosting no actualizan la información estadística en tiempo real. Sal de tu panel de control y vuelve a entrar pasados unos minutos. Si tampoco, deja pasar 24 horas. Aún con todo no es problema de tú hayas hecho nada mal, si no de tu proveedor de hosting.

      Un cordial saludo.

    1. Hola Misael. Gracias por tu comentario.

      Concretamente, ¿qué error te da? Puede deberse a que halla un error en la instrucción SQL o a que no se halla subido completamente el fichero que estás importando.

      Un saludo.

  14. Hola Oscar, el problema que yo tengo es similar a lo de este post, pero el tamaño de mi base de datos es de 123 MB. Que puedo hacer en este caso porque no puedo solucionarlo. Un saludo!

    1. Hola Rodolfo.

      Gracias por leer el artículo y por tu comentario. Desconozco por qué es un problema para ti que tu base de datos ocupe 123 MB. Se puede configurar el límite de subida máxima de ficheros sin problema.

      Un cordial saludo.

  15. Excelente aportación, muchas gracias por la explicación… en mi caso era un archivo CVS, pero funciono igual con el mismo principio.

    1. Hola Eduardo.

      Muchas Gracias por tu comentario y por leerme.

      Para mi es un placer que mi artículo haya servido para resolver tu problema. Esa es la razón por la cual me propuse a escribirlo.

      Un cordial saludo.

  16. Hola he seguido los pasos pero al importar el archivo sql me sale un nuevo error

    Como lo soluciono

    Análisis estático:

    Se encontraron 2 errores durante el análisis.

    Comienzo inesperado de declaración. (near “phpMyAdmin” at position 0)
    Tipo de declaración desconocida. (near “SQL” at position 11)
    consulta SQL:

    phpMyAdmin SQL Dump SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”

    MySQL ha dicho: Documentación

    #1064 – Algo está equivocado en su sintax cerca ‘phpMyAdmin SQL Dump

    SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”‘ en la linea 1

    1. Hola Andrea.
      En primer lugar, gracias por tu comentario y por leerme.
      En segundo lugar, y respondiendo a tu consulta, el error que te da es por algún tipo de fallo en la instrucción SQL del archivo a importar. Este puede ser debido por varias causas: la versión de phpMyAdmin, la configuración de la base de datos donde vas a importar los datos (ambas bases de datos, origen y destino, deben ser idénticas) o los propios datos en sí. La verdad es que así a ciegas es un poco complicado detectar el error. Si te parece bien, puedes mandarme el fichero SQL y trato de analizarlo.
      Un cordial saludo.

  17. ESTIMADO OSCAR.
    ACABO DE IMPORTAR UNA BASE DE DATOS EN CONSULTA SQL CON INSERT TO, LOS DATOS SE ARCHIVAN EN LOS CAMPOS MENCIONADOS, Y LOS PUEDO VER DESDE MI SISTEMA DE INTRANET QUE ESTOY DESARROLLANDO… HASTA AHI TODO BIEN .. EL PROBLEMA COMIENZA CUANDO EN EL SISTEMA LLAMO UN DATO ME LO MUESTRA EN PANTALLA, QUIERO RELLENAR DOS CAMPOS QUE ES INICIALES Y SUBIR ACHIVOS ME DICE ERROR AL ACTUALIZAR LA BASE DE DATOS-FILA NO ENCONTRADA, DISTINTO ES CUANDO INGRESO UN NUEVO REGISTRO DESDE LA APLICACION QUE ESTOY DESARROLLANDO, ME GUARDA LOS DATOS Y CUANDO LLAMO AL ULTIMO DATO INGRESADO ESE SI ME DEJA MODIFICAR LAS INICIALES Y SUBIR UN ARCHIVO EN PDF.. ME PUEDES AYUDAR O DAR ALGUN CONCEJO?

    QUEDO ATENTO A TUS COMENTARIOS

    1. Hola Victor Alberto. Gracias por leerme y por tu comentario.

      Sobre tu consulta, por lo que me dices del mensaje que arroja el sistema de “fila no encontrada” seguramente sea porque te falta la instrucción WHERE en tu consulta SQL. Si quieres una atención más directa para tratar de ayudarte, mándame un mensaje a contacto@oscar-dominguez.com y trataremos el tema más profundamente para encontrar solución.

      Un cordial saludo.

  18. hola Oscar tengo un problema cuando quiero exportar la BD sql a phpMyAdmin, me sale este error:
    Error
    SQL query:

    CREATE DATABASE AGENCIADECASTING
    USE AGENCIADECASTING

    CREATE TABLE CANDIDATO (
    CM VARCHAR (10)NOT NULL,
    N VARCHAR (30)NOT NULL,
    D VARCHAR (30)NOT NULL,
    RP CHAR (10)NOT NULL,
    PRIMARY KEY (CM)
    )
    MySQL said: Documentation

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘USE AGENCIADECASTING

    CREATE TABLE CANDIDATO (
    CM VARCHAR (10)NOT NULL,
    N VA’ at line 2

    1. Hola Franklin. Gracias por contactar. ¿Estás usando la opción “Exportación” que ya viene en phpMyAdmin o esa sentencia la estás ejecutando vía PHP?

        1. Hola Franklin.

          Cuando es el propio phpMyAdmin que falla el problema va más allá. Puede ser una mala instalación o configuración del servidor apache o del propio phpMyAdmin. También puede ser que la base de datos esté corrupta. ¿Lo usas en local o directamente en un servidor de Internet? La verdad es que si verlo me resulta complicado. Si te parece bien, mándame un mensaje a contacto@oscar-dominguez.com con las claves de acceso a tu servidor y ver el problema en real.

          Un saludo.

  19. hola me puedes ayudar?, tengo un problema cuando voy a subir la base de datos para phpmyadmin me da este error
    consulta sql
    table structure for table wp_commentmeta
    DROP Table IF Exists wp_commentmeta
    MYSQL ha dicho
    #1846 – no database selected

    1. Hola. Este error aparece porque no ha seleccionado la base de datos. Es un error muy común al utilizar phpMyAdmin ir directamente a importar. Antes debes entrar en la base de datos, es decir, ver en la ventana central de phpMyAdmin el listado de las tablas. Y una vez allí, importar. De este modo el sistema ya sabe que estás en esa base de datos. Espero haberte sido de ayuda. Saludos!

  20. Hola Óscar Yo he tenido un problema parecido.
    Al intentar migrar la base de datos a otro servidor mes daba este error:
    He creat una base de dades a gitaxi.cat i haig d’importar una base de dades que tinc en un altre servidor.
    Em dona el següent error i no em permet fer-ho.

    Error consulta SQL:

    /*!40101 SET NAMES utf8mb4 */;
    MySQL ha dicho: Documentación

    #1115 – Unknown character set: ‘utf8mb4’

    Luego cambié con notepad ++ utf8mb4 por utf8

    y me da el siguiente error:

    Error
    consulta SQL:


    — Base de datos: `dedisseny_7d2`

    — ——————————————————–

    — Estructura de tabla para la tabla `wp_commentmeta`

    CREATE TABLE `wp_commentmeta` (

    `meta_id` BIGINT( 20 ) UNSIGNED NOT NULL ,
    `comment_id` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT ‘0’,
    `meta_key` VARCHAR( 255 ) COLLATE utf8_unicode_520_ci DEFAULT NULL ,
    `meta_value` LONGTEXT COLLATE utf8_unicode_520_ci
    ) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_520_ci;

    MySQL ha dicho: Documentación

    #1273 – Unknown collation: ‘utf8_unicode_520_ci’

    En el Notepad++ ya me sale como utf8 así que no puedo convertir-lo.
    Si me puedes ayudar tal vez pueda dormir esta noche.
    Gracias y felicidades por la web.

    1. Hola Albert. Gracias por tu comentario y por leerme.
      En respuesta a tu problema, asegúrate que tanto la base de datos origen como la base de datos destino tienen la misma codificación. Muchas veces lo que ocurre es que sea crea primero la base de datos destino sólo poniendo el nombre sin preocuparse de la codificación, pensando que luego al importar el fichero .sql se importará todo. Pues no. Se debe establecer también la codificación, siempre siendo igual tanto en la base de datos destino como en la base de datos origen. Digamos que hay que preparar el escenario todo lo bien que se pueda para que luego la importación sea más agil.

      Si te fijas, el MySQL se queja en la codificación “utf8_unicode_520_ci”. Esa debe ser la codificación de la base de datos destino. Aún con todo, y hablando ya de condificaciones, yo siempre recomiendo la “utf8_general_ci” para evitar problemas, pues es la común y genérica, y que acepta todos los caracteres.

      Espero haberte arrojado un poco de luz en tu problema para que puedas darle solución. Hazme saber cómo te ha ido. Y si necesitas más ayuda, envíame un privado. Estaré encantado de ayudarte en lo que pueda.

      Un cordial saludo.

  21. Hola,
    ahora lo he hecho con notepad++ y se cambia a utf8 como dices, lo importo y:
    nuevo error:

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘– phpMyAdmin SQL Dump
    — version 4.6.4
    https://www.phpmyadmin.net/

    -‘ at line 1

    Gracias!!!!!!!!!!!

    1. Hola Elisabet.

      Primero, agradecer tu lectura y comentarios. Ese error que te aparece es porque existe un error en la sentencia SQL, es decir, alguna instrucción mal escrita. Te recomiendo que vuelvas a empezar de nuevo, pues es probable que con tanto cambio de codificación del fichero “.sql” se te hayan sustituidos símbolos o caracteres necesarios. Si te vuelve a ocurrir, puedes mandarme en un ZIP el fichero “.sql” original, y yo probaría a realizar la codificación, devolviéndote el fichero con la codificación correcta. Antes haré pruebas, a veces, el error tienen otro origen. Puedes mandarme el fichero a contacto@oscar-dominguez.com .

      Un cordial saludo.

  22. Hola, me puedes ayudar?
    Antes de nada gracias por compartir tu cabeza.
    Me pasa exactamete lo que dices, y hago lo que recomiendas y me sigue saliendo un error:
    #1273 – Unknown collation: ‘utf8_unicode_520_ci’
    me puedes ayudar?
    Nota: el cambio de los datos los hago en wordpad, remplazando utf8mb4 por el utf8, porque con tu notapad++ no me sale tampoco.
    Gracias!

    1. ahora he lo he hecho con notepad y se cambia ok, pero!!
      nuevo tipo de eror:
      #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘– phpMyAdmin SQL Dump
      — version 4.6.4
      https://www.phpmyadmin.net/

      -‘ at line 1
      ¿??¿?¿?¿

  23. Saludos,
    Este articulo tiene razón, las personas de MySQL no creo que no se hayan percatado de este punto tan utilizado como es la importación y la exportación, con la herramienta NotePad ++ se soluciona este inconveniente, solo deben de buscar el código utf8mb4 y cambiarlo por el utf8 y listo.
    Gracias Oscar por la información.

    1. Gracias a ti José por tu comentario. Mi larga experiencia en estos temas me dice que este problema aparentemente complejo es más sencillo de lo que parece. Y lo mejor es que funciona en el 100% de los casos. Me satisface saber que sirve a la gente a resolver su problema. Saludos.

    1. De nada. Me alegro que te haya servido de ayuda. La verdad es que era más sencillo de lo que parecía, ¿verdad? Gracias por tu visita.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.