Muszę zmienić kodowanie danych w tabelach (kolumna text, kodowanie latin1_swedish_ci) na UTF-8 (text, utf8_general_ci). Mam wiele baz z tysiącami rekordów w tabelach. Chciałbym zrobić to najlepiej za pomocą poleceń MySQLa niż skryptem PHP a tym bardziej dumpowaniem baz i konwertowaniem znaków za pomocą iconv.
Próbuję poniższych komend
ALTER TABLE tabela CHARACTER SET utf8; ALTER TABLE tabela CHANGE kolumna kolumna BLOB; ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET utf8;
lecz po ich wykonaniu dane w tabeli są ucinane od miejsca, gdzie powinien występować polski znak (np. dla danych KOŃ JEST FAJNY zmieni na KO).
Próbuję również takich komend
ALTER DATABASE baza CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE baza.dane CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
lecz tutaj kodowanie się nie zmienia.
Co robię źle?
Czy da się to w ogóle wykonać taką operację z poziomu MySQLa?
Problem udało się chyba rozwiązać samemu

Wpierw zmiana z latin1 na latin2 a potem utf8.
ALTER TABLE tabela CHANGE kolumna kolumna BLOB; ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET latin2; ALTER TABLE tabela CHANGE kolumna kolumna TEXT CHARACTER SET utf8;
Problemów ciąg dalszy.
Jak zmienić bezboleśnie znaki specjalne Latin-1 wyglądające mniej wiecej tak: &# 169; (oczywiście bez spacji w środku)?