Eu tenho muitos registros em que o texto foi armazenado em um blob no MySQL. Para facilitar o manuseio, gostaria de alterar o formato do banco de dados para TEXTO ... Alguma idéia de como é fácil fazer a alteração para não interromper os dados - acho que precisará ser codificado corretamente?
214
SELECT CONVERT(column USING utf8) FROM table;
Aqui está um exemplo de pessoa que deseja converter um blob em char (1000) com codificação UTF-8 :
Essa é a resposta dele. Provavelmente há muito mais sobre o CAST aqui . Espero que ajude alguns.
fonte
Eu tive o mesmo problema e aqui está a minha solução:
fonte
Você pode fazer isso muito facilmente.
A consulta acima funcionou para mim. Espero que ajude você também.
fonte
Se você estiver usando MYSQL-WORKBENCH , poderá selecionar a coluna blob normalmente e clicar com o botão direito do mouse na coluna e clicar em open value no editor . consulte a captura de tela:
fonte
Ou você pode usar esta função:
fonte
Usando o phpMyAdmin, você também pode definir as opções para mostrar o conteúdo do BLOB e mostrar o texto completo.
fonte
Nenhuma dessas respostas funcionou para mim. Ao converter para UTF8, quando o codificador encontra um conjunto de bytes que não pode converter em UTF8, isso resultará em um? substituição que resulta em perda de dados. Você precisa usar o UTF16:
Você pode inspecionar os valores binários no MySQL Workbench. Clique com o botão direito do mouse no campo -> Abrir valor no visualizador-> Binário. Quando convertidos novamente em BINARY, os valores binários devem ser os mesmos que o original.
Como alternativa, você pode simplesmente usar a base-64 que foi criada para esse fim:
fonte