[MYSQL] Konwertowanie znaków - źle zaprojektowana baza

0

Witam,
Na forum wszystko ze znakami jest OK, jednak w PHPMyAdminie, w zrzucie bazy lub przy updateowaniu tego forum do nowszej wersji jest już problem ze znakami.
Pojawiają sie krzaczki zamiast polskich znaków.

System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_polish_ci
Metoda porównywania napisów dla tabel: latin1_swedish_ci

Znaki diaktryczne
Wygląd na forum: Ą ą Ć ć Ę ę Ł ł Ń ń Ó ó Ś ś Ź ź Ż ż
Wygląd w bazie lub zrzucie (PHPMyAdmin): Ä„ Ä… Ć ć Ę Ä™ Å Å‚ Ń Å„ Ó ó Åš Å› Ź ź Å» ż

Próbowałem edytorem tekstu pozmieniać je, jednak wtedy jest problem przy imporcie. (Być może jakieś inne znaki ,".'` sie też gdzieś wysypują)

PHPMyAdmin wywala błędy w stylu:
#1062 - Duplicate entry 'by?' for key 1
lub
Wywala w TNIJ jakiś nieznany ciąg znaków i jako error wywala pół mojej tabeli.
W zależności jakie kodowanie importowania ustawie, albo kodowanie dla systemu porównań dla połączenia MySQL.

Próbowałem także skorzystać z Gżegżółki XP, ale on już domyślnie wykrywa UTF-8 i konwersja tego na inne kończy sie jeszcze to innymi ślaczkami.
Co powinienem zrobić?

0

napisać skrypt w php, który poprawi dane :)

PS
Radzę stworzyć nową tablicę w której zapiszesz poprawione dane. Jak się upewnisz, że wszytko gra będziesz mógł zmienić nazwy tablic.

0

Zbyt karkołomne, już jestem blisko zrobienia tego. Wyedytowałem wszystkie te znaczki co wyżej napisałem na normalne polskie znaki do tego w tabelach dałem:
DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
zamiast
DEFAULT CHARSET=latin1
Cały plik z bazą w notatniku zmieniłem na UTF8.
Mimo to, nadal czasem przy jakimś rekordzie (podczas Insertu) wywali błąd typu SQL Syntax.

EDIT:
Dobra jakoś poszło.

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