J'ai beaucoup d'enregistrements où le texte a été stocké dans un blob dans MySQL. Pour faciliter la manipulation, j'aimerais changer le format de la base de données en TEXTE ... Des idées sur la facilité avec laquelle effectuer le changement afin de ne pas interrompre les données - je suppose qu'il devra être encodé correctement?
214
SELECT CONVERT(column USING utf8) FROM table;
Voici un exemple d' une personne qui souhaite convertir un blob en char (1000) avec le codage UTF-8 :
Telle est sa réponse. Il y a probablement beaucoup plus à lire sur CAST ici . J'espère que cela aide certains.
la source
J'ai eu le même problème, et voici ma solution:
la source
Vous pouvez le faire très facilement.
La requête ci-dessus a fonctionné pour moi. J'espère que ça vous aide aussi.
la source
Si vous utilisez MYSQL-WORKBENCH , vous pouvez sélectionner la colonne de blob normalement et cliquer avec le bouton droit sur la colonne et cliquer sur ouvrir la valeur dans l'éditeur . voir capture d'écran:
la source
Ou vous pouvez utiliser cette fonction:
la source
En utilisant phpMyAdmin, vous pouvez également définir les options pour afficher le contenu BLOB et afficher le texte complet.
la source
Aucune de ces réponses n'a fonctionné pour moi. Lors de la conversion en UTF8, lorsque l'encodeur rencontre un ensemble d'octets qu'il ne peut pas convertir en UTF8, il en résulte un? substitution qui entraîne une perte de données. Vous devez utiliser UTF16:
Vous pouvez inspecter les valeurs binaires dans MySQL Workbench. Faites un clic droit sur le champ -> Ouvrir la valeur dans la visionneuse -> Binaire. Lorsqu'elles sont reconverties en BINARY, les valeurs binaires doivent être identiques à l'original.
Alternativement, vous pouvez simplement utiliser la base-64 qui a été conçue à cet effet:
la source