Cum convertesc un tabel MySql la encodare UTF-8

Saptamana trecuta m-am lovit din nou de o mica problema cu MySQL-ul! Solutia clara am gasit-o pe un singur site, pe care din pacate nu l-am bookmarkuit. Am avut totusi inspiratia de a salva partea utila intr-un draft pe blog, in ideea ca voi scrie un articol candva. Si iata; a venit si ziua!

Okie, okie! Ziceti ca o stiti si pe asta! Nu face nimic, eu o scriu, ca pe un micro-tutorial. Deci e foarte simplu. Cineva ti-a lasat “mostenire” un tabel encodat latin-1, si collation, sa zicem clasicul si genericul latin1_swedish. Evident, toate coloanele care contin string/chars vor fi default encodate tot cu latin1, si la fel de evident, vei vedea tot felul de chestii in loc de diacritice, gen: â€, sau chiar “. Asadar, ca sa rezolvi problema trebuie sa convertesti tabelul la UTF-8. Iata 2 statement-uri ce iti pot rezolva problema cat ai zice [maɪ ˈsiːkwəl]:

 

1
2
3
ALTER TABLE `my_table` CONVERT TO CHARACTER SET utf8;

UPDATE `my_table` SET `my_column` = CONVERT(CONVERT(CONVERT(`my_column` USING latin1) USING BINARY) USING utf8);