Zmiana kodowania

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 112
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 ?

Haskell
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4700
0

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

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
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

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 112
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

YA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2386
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)

KiK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 88
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.