Konwersja znaków

0

Witam,

W bazie danych ktoś dokonał konwersji.
Prawdopodobnie jest to latin2. Próbowałem użyć wbudowanej funkcji oraz Gżegżółki do konwersji (bez pozytywnych skutków).
Jak mogę to naprawić?

W załączniku zdjęcie bazy.

1

Co to za baza . Może ktoś ci po prostu wcisnął takie dane do bazy a z baza jest wszystko ok.

2

replace jak nic nie znajdziesz innego... wygląda na łatwe do zastąpienia

0

Skąd pewność, że ktoś dokonywał jakiejkolwiek konwersji w bazie? Obstawiam, że zaszła automatyczna konwersja, bo użytkownik nie wiedział, że okłamuje aplikację kliencką, np.

  • klient bazodanowy ma ustawione kodowanie X
  • baza ustawiona w kodowaniu Y
  • dane w kodowaniu Z

User zrobił copy&paste danych do klienta, zaszła konwersja między X a Y, przy założeniu, że dane są w X (ale faktycznie były w Y) i wyszła qpa.

  1. W jakim encodingu baza przechowuje dane?
  2. Jakie jest kodowanie klienta, na którym chcesz modyfikować dane?
  3. Jak wygląda binarna reprezentacja danych "złych" ? (różne silniki mają różne funkcje, np. dump w Oraclu)
0

Dziękuję za odpowiedzi, poradziłem już sobie. Wątek do zamknięcia.

1

Znaki latin2 były nieregularne (np. Ł w imieniu "Małgorzata" było zapisne na dwa różne sposoby w różnych rekordach, ale zauważyłem że podczas konwersji na encje w Gżegżółce różnice pomiędzy rekordami znikają. Słownik encji na Wikipedii nie pomógł, bo znaczna część znaków się nie zgadzała. Na podstawie przeglądania bazy stworzyłem własny słownik i napisałem program podmieniający te dziwaczne encje na polski.

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