Cokolwiek dzieje się z twoimi postaciami, dzieje się, zanim dotrą do MySQL. Znaki są konwertowane na liczby przez komputer, gdy wprowadzamy znaki. Następnie te liczby przemieszczają się stąd do tam, między formularzami internetowymi a serwerami, serwerami internetowymi i interpreterami skryptów, a następnie serwerami baz danych i z powrotem do stron internetowych w ten sam sposób.
Gdzie i jak wprowadzasz swoje dane? Dane powinny wyjść tak, jak zostały wprowadzone. Jeśli Twoje dane są dostarczane za pośrednictwem formularzy internetowych, sprawdź kodowanie stron internetowych i sposób przesyłania formularzy. Jak je zdobyć w swoich skryptach PHP i jak wysłać je do serwera bazy danych. Winnym elementem jest prawdopodobnie nie MySQL, ale inne miejsce. Może to być również MySQL; ale nie jest to jedyne miejsce możliwego niewłaściwego zachowania i prawdopodobnie tak nie jest.
Sprawdzaj swoje strony, sprawdzaj nagłówki, gdy trafiają do Twojej przeglądarki.
Jeśli chodzi o komentarze otrzymane przez twoje pytanie, nie, nie jest dobrze używać ISO5, ponieważ potrzebujesz wielu rodzin ISO5. Przez większość czasu musisz używać kodowania Unicode, najlepiej utf-8. Nie chodzi też o to, której biblioteki MySQL używasz, chyba że ta biblioteka ma kilka znanych błędów, co jest bardzo mało prawdopodobne w przypadku czegoś tak starego. :) Powinieneś nadal używać tego, co jest zalecane jako najlepsze praktyki; ale twój obecny problem nie jest związany z biblioteką, z której korzystasz. Zło tkwi w różnicy między tym, jak wprowadzasz swoje dane, a tym, jak je przeglądasz.