Zmiana kodowania

0

Witam,
Mam problem z kodowaniem bazy dany w MySQL. Otóż posiadam starą bazę danych kodowaną w latin2_general_ci ponieważ sama strona była kodowana w iso-8859-2
Chciałbym zmienić kodowanie strony na uniwersalny już utf-8 lecz potrzebuję przekonwertować bazę na utf-8 (utf8_general_ci) i tu mam kłopot.
Idąc poradnikami internetowymi np tym: https://www.8px.pl/konwertowanie-kodowania-latin1-do-utf-8-w-mysql/ nie dostaje tego co bym chciał. Baza co prawda jest w utf-8 ale tabele i kolumny dalej w latin2.
Dając alter table na (ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci) gubię polskie znaki i mam krzaki na bazie.

Jak to ugryźć by w miarę sprawnie przejść na utf-8 ?

0

Może spróbuj MySQL Workbench, zdaje się jest tam wygodna możliwość zmiany kodowania za pomocą UI.

0

To nic nie da. Niestety, zmiana kodowania w MySQL to mordęga.
Wszystko od góry zakładaj UTF: baza, tabela, kolumna. Wymuszaj UTF
potem zaimportuj TYLKO dane z pliku najlepiej też w UTF. Albo zapytaniem z innej bazy

0

Hmm czyli na to wygląda że nie ma jakieś sprawdzonej metody?
W sumie metoda zaimportowania danych z pliku txt nie brzmi głupio. Jakby ktoś miał jeszcze jakieś pomysły a najlepiej sprawdzoną metodę to byłbym wdzięczny za podpowiedzi. Dodam że baza nie taka mała bo ponad 1gb wiec ręczne dłubanie też nie wchodzi w gre :D

0

Pierwsze co mi do głowy przyszło do eksport bazy, konwersja za pomocą jakiegoś toola (np. iconv) i import do bazy. Tak też wpisałem w google i zwróciło interesujący link z kilkoma metodami konwersji: (https://coderwall.com/p/gjyuwg/mysql-convert-encoding-to-utf8-without-garbled-data)

0

Kiedyś miałem taki sam problem. U mnie także nie sprawdziło się kilka automatycznych sposób z neta. Jak już wcześniej pisaliście u mnie pomógł eksport danych, przerobienie go w excelu i ponowny import do bazy z kodowaniem UTF-8. Przerobienie w excelu polegało na tym, że dodałem odpowiednie kolumny w których dodałem kod w taki sposób żeby każdy wiersz był poleceniem insert into. Skopiowałem wrzuciłem powstały skrypt do bazy i gotowe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1