Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Jak Zmienić BD z MyISAM na InnoBD - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Jak Zmienić BD z MyISAM na InnoBD (/thread-jak-zmienic-bd-z-myisam-na-innobd)



Jak Zmienić BD z MyISAM na InnoBD - AveCXV - 25-02-2011

Czesc,

Mam drobny problem z bazą danych na MySQL.

Po porostu mam krzaki . i chyba wiem czemu.
Tylko nie pamiętam jak To się zmieniało.
Bo zawsze BD. Tworzyłem tak , ale odkąd mam nowy OS.
To chyba coś zapomniałem skonfigurować. Lub zmienić.

CREATE DATABASE nazwa_bazy_danych
CHARACTER SET latin2
COLLATE latin2_bin;

[Obrazek: innodb_myisam.jpg]

Tabele MAM na InnoDB i chciał bym żeby tak zostało.
Ale jak widać z obrazka chyba BD jest kodowana w MyISAM . !!!

Jak zmienić to MyISAM na InnoDD , Jak To się zmieniało I gdzie ? Hmm To pewnie Dlatego MAM Krzaki jak Używam polskich Znaków ???

Czy można Na etapie otworzenia wymusić to ? //za Deklarować ?jak?


RE: Jak Zmienić BD z MyISAM na InnoBD - Pedro84 - 26-02-2011

Co ma typ do krzaków? Krzaki masz przez to:
CHARACTER SET latin2
COLLATE latin2_bin;


RE: Jak Zmienić BD z MyISAM na InnoBD - AveCXV - 27-02-2011

Hmm.. To jak ja ma To ustawić żeby krzaków nie było :/ ?
Strony www są w „charset=ISO 8859-2" „

I tak samo kodowane są.

Sam już nie wiem, wcześniej tak miałem i wszystko ze sobą działało. :/
a od kiedy mam nowy OS. wysypuje się, :-/
Jak to ustawić ?


RE: Jak Zmienić BD z MyISAM na InnoBD - Pedro84 - 28-02-2011

Ja bym ustawił tak: Metoda porównywania napisów - utf8_general_ci, charset strony - utf-8.


RE: Jak Zmienić BD z MyISAM na InnoBD - R_Rafalsky - 28-02-2011

@AveCXV:

Już od ładnych paru lat nie tworzy się stron "w ISO 8859-2". Aktualnym standardem kodowania stron jest UTF-8 i szybko to się nie zmieni. Silnik bazy danych nie ma nic wspólnego z kodowaniem bazy (krzaki to wina kodowania). Silnik tabeli w bazie ustawiasz podczas deklaracji. Na końcu dopisujesz engine=InnoDB;

Przed pobraniem czegokolwiek z bazy przydatne może się okazać dodanie mysql_query("SET NAMES 'utf8'"); do skryptu PHP. Będziemy mieli pewność, że wyniki z bazy dostaniemy w kodowaniu jaki chcemy. Więcej szczegółów w manualu mysql.