Obiecywałem == Zrobiłem.
Poniższa instrukcja przedstawia sposób na zmianę kodowania bazy danych z
latin1/latin2 na
utf-8:
Proszę uważnie ją przeczytać zanim dokonasz jakichkolwiek działań... :)
I. Posiadasz eXtreme-Fusion v4.15 i w dół:
1.) Zaloguj się do Panelu Administracyjnego strony opartej o eXtreme-Fusion.
2.) Przejdź w
"Dodatkowe strony".
3.) W polu
"Nazwa" wpisz:
Panel podglądowy zmieniający super tajne dane...
4.) w polu
"Zawartość" wpisz:
<?php
$result = dbquery("UPDATE ".$db_prefix."settings SET version = '6.01.9 || EF IV';");
echo (($result == TRUE) ? "Zmiany dokonane prawidłowo" : "Nie można było dokonać zmian.");
?>
5.) Przyciśnij przycisk "Podgląd".
6.) Jeśli otrzymałeś komunikat pozytywny przejdź do pkt. 13.). Jeśli komunikat był negatywny przejdź do pkt. 7.).
7.) Zaloguj się na konto z uprawnieniami dostępu do bazy danych, można to zrobić przez panel PHPMyAdmin lub też innych systemów/programów.
8.) Odnajdź i przeglądaj tabelę twoj_prefix_settings
(domyślnie ep_settings/ef_settings).
9.) Wybierz ołówek po lewej stronie tabeli
(oznaczający "zmień").
10.) Odnajdź wiersz w którym znajduje się pole
"version".
11.) Zmień jego zawartość na:
6.01.9 || EF IV
12.) Zapisz zmiany przyciskając przycisk
"Wykonaj".
13.) Wykonaj kopię bezpieczeństwa bazy danych, przechodząc do głównej listy baz danych wybierz swoją bazę a następnie dokonaj Eksportu.
14.) Zapisz kopię w bezpiecznym miejscu.
II. Posiadasz PHP-Fusion v6 i PHP-Fusion v7 ISO:
1.) Wykonaj kopię bezpieczeństwa bazy danych, przechodząc do głównej listy baz danych wybierz swoją bazę a następnie dokonaj Eksportu.
2.) Zapisz kopię w bezpiecznym miejscu.
III. Pobierz skrypt:
1.) Pobierz skrypt który umożliwi Ci dokonania szybkiej konwersji bazy danych.
W załączniku.
3.) Zaloguj się na FTP przez swojego klienta.
4.) Przejdź do głównego katalogu PHP-Fusion/eXtreme-Fusion.
5.) Umieść zawartość archiwum w głównym katalogu.
Schematycznie:
/config.php
/konwerter/*
6.) Przejdź na swoją stronę internetową http://www.adres_twojej_strony.pl/konwerter/
7.) Wybierz aktualne kodowanie bazy danych, przeważnie
latin1 lub
latin2.
8.) Wybierz nowe kodowanie bazy danych (zalecane
utf8_unicode_ci)
9.) Wybierz metodę konwersji bazy danych z pośród:
- MYQSL - CONVERT
- MB String
- iconv
Nie ma żadnego znaczenia jakiej metody użyjemy, jest to tylko uzależnione od tego czy serwer posiada konkretną opcję.
10.) Przyciśnij "Konwertuj".
Podczas konwersji bazy danych będziesz na bieżąco informowany o postępie, oraz będziesz dostawał konkretne informacje związane z procesem. Czas trwania procesu jest uzależniony od rozmiarów posiadanej przez was bazy.
Proszę obserwować uważnie każdy etap procesu (na wszelki wypadek gdyby były problemy).
IV Konwersja zakończona.
1.) Usuń konwerter z serwera lub zabezpiecz go w sposób odpowiedni.
2.) Otwórz swój plik
config.php
Znajdź:
$db_prefix = "stary_prefix_";
define("DB_PREFIX", "stary_prefix_");
Zamień na:
$db_prefix = "new_stary_prefix_";
define("DB_PREFIX", "new_stary_prefix_");
Jak widać dodać musisz przed swoim starym prefixem przedrostek
new_
3.) Zapisz i wyślij plik na serwer.
4.) Możesz dokonać usunięcia tabel z starym prefixem (nie jest to obowiązkowe ale możesz zaoszczędzić sobie miejsca).
V Poczynania manualne:
eXtreme-Fusion & PHP-Fusion v6
1.) Po udanej operacji musisz zmienić wszystkie pliki językowe (przekonwertować je na pliki zapisane w formacie utf-8 bez bom).
2.) Aby przystosować stronę do strony kodowej utf8 musisz jeszcze odnaleźć:
/locale/Polish/global.php
/locale/English/global.php
Odnajdź:
$locale['charset'] = "iso-8859-1";
Zamień na:
$locale['charset'] = "utf8";
Zapisz i wyślij na serwer.
PHP-Fusion v7 ISO
1.) Musisz jedynie pobrać samą paczkę językową
UTF-8 i wrzucić ją na swój serwer.
2.) Zmień język strony z
Polish na
Polish-utf8, zrobisz to w ustawieniach głównych.
VI Modyfikacja plików + zapytanie :) - eXtreme-Fusion, PHP-Fusion v6/v7
1.) Otwórz plik /
maincore.php
2.) Znajdź:
$db_select = @mysql_select_db($db_name);
Pod dodaj:
dbquery("SET NAMES utf8");
dbquery("SET CHARACTER SET utf8");
3.) Zapisz plik i wyślij na serwer.
4.) Przejdź w
"Dodatkowe strony/Strony informacyjne"
5.) W polu
"Nazwa" wpisz:
Panel podglądowy zmieniający super tajne dane...
6.) w polu
"Zawartość" wpisz:
<?php
$result = dbquery("ALTER DATABASE `".$db_name."` charset=utf8");
echo (($result == TRUE) ? "Zmiany dokonane prawidłowo" : "Nie można było dokonać zmian.");
?>
7.) W zależności od tego czy posiadasz PHP-Fusion v7 czy też v6 i eXtreme-Fusion wpisz hasło jeśli wymagane i kliknij
"Podgląd".
8.) Koniec... ;)
Więcej nie pamiętam, ale na pewno to wszystko co jest wymagane.
Krótkie info:
Skrypt działa na jednej bazie danych kopiując strukturę tabel, a następnie prze-konwertując kolejno dane w polach zresztą widać będzie podczas jego pracy. Podstawą skryptu jest konwerter Tośka -->
http://tosiek.pl troszkę go wizualnie przerobiłem, okroiłem, przepisałem troszkę komunikatów teraz jakoś wygląda ;)
Gratulacje dla pierwszego użytkownika który dokona konwersji bazy danych wraz z CMS pod UTF-8 :)
Pozdro!
~Rafik89
A po co mamy zmieniać nazwę wersji ? Nie kumam...