Szukaj w:
.

 Zobacz Temat

#111877 30.04.2010 14:35:00 - Konwerter bazy danych ISO --> UTF-8
Avatar Użytkownika
Ostrzeżeń: 0
Postów: 1598
Post napisano: 30.04.2010 14:35:00
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
http://rafik.eu Wyślij Prywatną Wiadomość
#111885 30.04.2010 15:19:54 - RE: Konwerter bazy danych ISO --> UTF-8
Avatar Użytkownika
Ostrzeżeń: 0
Postów: 998
Post napisano: 30.04.2010 15:19:54
A po co mamy zmieniać nazwę wersji ? Nie kumam...
domons.net Wyślij Prywatną Wiadomość
#111886 30.04.2010 15:22:42 - RE: Konwerter bazy danych ISO --> UTF-8
Avatar Użytkownika
Ostrzeżeń: 0
Postów: 535
Post napisano: 30.04.2010 15:22:42
Rafik89 napisał/a:
Gratulacje dla pierwszego użytkownika który dokona konwersji bazy danych wraz z CMS pod UTF-8 smiley
Pierwszy pewnie nie będę bo jeszcze w pracy siedzę ale postaram się dziś to ogarnąć przed snem smiley Pomocne ^^
http://www.db4ever.com Wyślij Prywatną Wiadomość
#111887 30.04.2010 15:24:45 - RE: Konwerter bazy danych ISO --> UTF-8
Avatar Użytkownika
Ostrzeżeń: 0
Postów: 1598
Post napisano: 30.04.2010 15:24:45
Domon napisał/a:
A po co mamy zmieniać nazwę wersji ? Nie kumam...


Bo konwerter napotyka problem z konwersją apostrofa który znajduje się w tym polu. Zresztą jest tam od zawsze co jest błędem.
http://rafik.eu Wyślij Prywatną Wiadomość
#111889 30.04.2010 15:46:17 - RE: Konwerter bazy danych ISO --> UTF-8
Avatar Użytkownika
Ostrzeżeń: 0
Postów: 998
Post napisano: 30.04.2010 15:46:17
Aha smiley
domons.net Wyślij Prywatną Wiadomość


Szybka Odpowiedź


Musisz się zalogować by móc zamieszczać posty w tym temacie.