Ich habe eine ganze Reihe von Datensätzen, in denen Text in einem Blob in MySQL gespeichert wurde. Zur Vereinfachung der Handhabung möchte ich das Format in der Datenbank in TEXT ändern ... Irgendwelche Ideen, wie einfach die Änderung vorgenommen werden kann, um die Daten nicht zu unterbrechen - ich denke, sie müssen ordnungsgemäß codiert werden?
214
SELECT CONVERT(column USING utf8) FROM table;
Hier ist ein Beispiel für eine Person , die einen Blob mit UTF-8- Codierung in char (1000) konvertieren möchte :
Das ist seine Antwort. Es ist wahrscheinlich viel mehr Sie über CAST lesen können direkt hier . Ich hoffe es hilft einigen.
quelle
Ich hatte das gleiche Problem und hier ist meine Lösung:
quelle
Sie können es sehr einfach tun.
Die obige Abfrage hat bei mir funktioniert. Ich hoffe es hilft dir auch.
quelle
Wenn Sie MYSQL-WORKBENCH verwenden , können Sie die Blob-Spalte normal auswählen und mit der rechten Maustaste auf die Spalte klicken und im Editor auf Wert öffnen klicken . siehe Screenshot:
quelle
Oder Sie können diese Funktion verwenden:
quelle
Mit phpMyAdmin können Sie auch die Optionen festlegen, um BLOB-Inhalte und vollständigen Text anzuzeigen.
quelle
Keine dieser Antworten hat bei mir funktioniert. Wenn der Encoder bei der Konvertierung in UTF8 auf eine Reihe von Bytes stößt, die er nicht in UTF8 konvertieren kann, führt dies zu einem? Substitution, die zu Datenverlust führt. Sie müssen UTF16 verwenden:
Sie können die Binärwerte in MySQL Workbench überprüfen. Klicken Sie mit der rechten Maustaste auf das Feld -> Wert in Viewer öffnen -> Binär. Bei der Rückkonvertierung in BINARY sollten die Binärwerte mit denen des Originals übereinstimmen.
Alternativ können Sie auch base-64 verwenden, das für diesen Zweck erstellt wurde:
quelle