Zamiana polskich znaków w mysql

0

Witam
Mam tabelę, w której polskie znaki są zastąpione czymś takim: Ĺ Ä. Mogę bez problemu dodawać nowe rekordy z polskimi znakami. Będą dobrze wyświetlane zarówno w bazi jak i na stronie.
Problem jest w tym, że te dziwne znaki są wyświetlane jako polskie, tylko gdy nie użyję mysqli_set_charset($sql, "utf8"), lecz wtedy dane z innych tabel z dobrze zapisanymi polskimi znakami będą źle wyświetlane.
Czy da się jakoś te znaki podmienić na polskie odpowiedniki? Próbowałem funkcją replace, ale Ĺ jest tak samo traktowane zarówno jako małe ł co duże Ł.

0

Zanim zaczniesz dodawać cokolwiek do tej bazy - napraw tą istniejącą, bo z problemu "wiele kodowań znaków w jednej bazie danych" za łątwo nie wyjdziesz... Masz ją (bazę) w formie jakiegoś zrzutu do pliku *.sql? Skąd ją w ogóle wziąłeś. Już na etapie importu/exportu ktoś coś namieszał. Dałoby się ponownie zrobić eksport?

0

Baza jest trzymana na serwerze. Nic w niej nie grzebałem. Jest tak jak była. Te rzeczy o których pisałem, wykonywałem na jej kopii.

0

Ok, chyba się mi udało. Wpadłem na coś takiego:

while($row = $result->fetch_assoc()){
	$sql->set_charset("utf8");
	//INSERT ze starej tabeli do nowej
	$sql->set_charset("latin2");
}

Jeszcze nie wiem czy wszystko jest okey, ale chyba tak.

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