Tengo muchos registros donde el texto se ha almacenado en un blob en MySQL. Para facilitar el manejo, me gustaría cambiar el formato de la base de datos a TEXTO ... ¿Alguna idea de qué tan fácil hacer el cambio para no interrumpir los datos? Supongo que será necesario codificarlo correctamente.
214
SELECT CONVERT(column USING utf8) FROM table;
Aquí hay un ejemplo de una persona que quiere convertir un blob a char (1000) con codificación UTF-8 :
Esta es su respuesta. Probablemente hay mucho más que puedes leer sobre CAST aquí . Espero que ayude un poco.
fuente
He tenido el mismo problema, y aquí está mi solución:
fuente
Puedes hacerlo muy fácilmente.
La consulta anterior funcionó para mí. Espero que te ayude a ti también.
fuente
Si está utilizando MYSQL-WORKBENCH , puede seleccionar la columna de blob normalmente y hacer clic derecho en la columna y hacer clic en abrir valor en el editor . referir captura de pantalla:
fuente
O puede usar esta función:
fuente
Usando phpMyAdmin también puede configurar las opciones para mostrar contenido BLOB y mostrar texto completo.
fuente
Ninguna de estas respuestas funcionó para mí. Al convertir a UTF8, cuando el codificador encuentra un conjunto de bytes que no puede convertir a UTF8, ¿se generará un? sustitución que resulta en pérdida de datos. Necesita usar UTF16:
Puede inspeccionar los valores binarios en MySQL Workbench. Haga clic derecho en el campo -> Abrir valor en Visor-> Binario. Cuando se vuelve a convertir a BINARY, los valores binarios deben ser los mismos que los del original.
Alternativamente, puede usar base-64 que fue hecho para este propósito:
fuente