Jak Zmienić Kodowanie Bazy?

Spisu treści:

Jak Zmienić Kodowanie Bazy?
Jak Zmienić Kodowanie Bazy?

Wideo: Jak Zmienić Kodowanie Bazy?

Wideo: Jak Zmienić Kodowanie Bazy?
Wideo: Jak wyświetlić dane z bazy MySQL i PHP ? bez zabawy 2024, Grudzień
Anonim

System zarządzania bazą danych Mysql, począwszy od wersji 4.1, obsługuje pracę z kodowaniami. Główne problemy z nimi pojawiają się podczas łączenia bazy danych z PHP. W takim przypadku kodowanie zawartości bazy i połączenia musi być zgodne.

Jak zmienić kodowanie bazy?
Jak zmienić kodowanie bazy?

Instrukcje

Krok 1

Zauważ, że częstą przyczyną problemów z Mysql jest to, że domyślne kodowanie baz danych to latin1. Większość podłączonych klientów jest również do tego skonfigurowana, wprowadzasz dane i przeglądasz wyniki również za ich pomocą. Chociaż to kodowanie poprawnie wyświetla cyrylicę, kody tablicy symboli w nim nie odpowiadają prawdziwym znakom cyrylicy. Dlatego wyszukiwanie i sortowanie danych może dawać całkowicie nieprzewidywalne wyniki.

Krok 2

Zmień kodowanie bazy danych na takie, które poprawnie wyświetla znaki cyrylicy, na przykład utf-8 lub cp1251. Aby to zrobić, przekonwertuj dane z kodowania Latin1 na cp1251. Nie używaj prostej konwersji danych, ponieważ kody znaków są nieprawidłowe. Dlatego musisz pozbyć się ich wiązania kodującego. Aby to zrobić, przekonwertuj typ danych i znaków na dane binarne. Użyj zapytania Zmień tabelę "Wprowadź nazwę tabeli" t1 zmień c1 c1 blob.

Krok 3

Uruchom zapytanie, aby zmienić kodowanie bazy danych Mysql, w tym celu użyj następującego przykładu: Alter table "Wprowadź nazwę tabeli" t1 change c1 c1 text chatacter set "Wprowadź nazwę żądanego kodowania, na przykład cp1251". Ani jeden bajt danych nie jest fizycznie zmieniany, ale zmienia się zasada tworzenia znaków. Następnie, aby zmienić kodowanie bazy danych, możesz użyć prostego zapytania konwersji danych.

Krok 4

Należy pamiętać, że podczas zmiany kodowania tabeli w polu zawierającym indeksy należy je usunąć i odtworzyć je ponownie, tj. przebuduj we wszystkich tabelach bazy danych. Przełączając się na kodowanie, upewnij się, że klienty wizualne obsługują Unicode. Na przykład klient SQLyog niepoprawnie wyświetla zawartość tabel przechowujących dane w kodowaniu utf-8.

Zalecana: