Peligro Creo que que ALTER
destruirá el texto existente.
Además,... Su 'nombre' parece chino, así que supongo que desea almacenar caracteres chinos. En ese caso, deberías usar utf8mb4
, no solo utf8
. Esto se debe a que algunos de los caracteres chinos ocupan 4 bytes (y no están en Unicode BMP).
Creo que necesitas 2 pasos :
ALTER TABLE notebooks MODIFY comments BLOB;
ALTER TABLE notebooks MODIFY comments TEXT
CHARACTER SET utf8mb4 COLLATE utf8mb4_general_520_ci;
De lo contrario, los caracteres latinos1 será "convertido" a ut8. Pero si realmente tiene chino en la columna, no tiene latin1. La alteración de 2 pasos, arriba, (1) desactiva cualquier conocimiento del conjunto de caracteres y (2) establece que los bytes están realmente codificados en utf8mb4.
Para estar más seguro , primero haz
RENAME TABLE notebooks TO old;
CREATE TABLE notebooks LIKE old;
INSERT INTO notebooks SELECT * FROM old;
Luego haga los dos ALTER y pruebe el resultado. Si hay problemas, puede RENAME
para recuperar la copia anterior.