|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: lui754 30-04-2009, 22:48 |
[Problem] Przeniesienie bazy z ISO-8859-2 (latin2) na UTF-8 |
Autor |
Wiadomość |
bryzas
Posty: 3
|
Wysłany: 07-09-2007, 12:04 [Problem] Przeniesienie bazy z ISO-8859-2 (latin2) na UTF-8
|
|
|
Witam serdecznie,
Opiszę sposób w jaki udało mi się przenieść forum z latin2 na utf-8.
MySQL + Apache + phpMyAdmin
stary serwer :
MySQL 4.0.20, phpMyAdmin - 2.9.1.1
MySQL (show variables) :
Kod: | character_setl latin2
character_sets latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5 |
nowy serwer :
MySQL 5.0.37, phpMyAdmin - 2.9.1.1
MySQL (show variables) :
Kod: | character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets _dir /usr/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci |
A by tak skonfigurować serwer MySQL należy :
w pliku my.cnf :
Kod: | [client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
init-connect='SET NAMES utf8'
collation_server=utf8_general_ci
character_set_server=utf8 |
dodatkowo MySQL powinien być uruchamiany z parametrem :
Kod: | --character-set-server=utf8 --collation-server=utf8_general_ci |
Dotatkowo w php.ini należy ustawić :
Kod: | default_charset = "UTF-8" |
oraz w httpd.conf :
Kod: | AddDefaultCharset UTF-8 |
A teraz trochę praktyki:
1. robimy export bazy w phpmyadmin na starym serwerze,
2. robimy konwersję znaków w pliku kopii bazy (polecam program "Gżegżółka XP") z iso-8859-2 na UTF-8
3. edytujemy przekonwertowany plik kopii bazy i na początku wpisujemy :
dobrym pomysłem jest, aby na końcu kodu :
dopisać : Kod: | DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci | (tak dla pewności )
4. Robimy import na nowym serwerze poprzez phpmyadmin.
5. w pliku /forum/db/mysql4.php znajdz linię :
Kod: | $dbselect = mysql_select_db($this->dbname); |
i pod nią wpisz :
Kod: | mysql_query('SET NAMES utf8', $this->db_connect_id); |
6. w pliku Kod: | /forum/language/lang_polish/lang_main.php | należy zmienić z:
Kod: | @setlocale (LC_ALL, 'pl_PL.iso-8859-2', 'pl_PL.latin2', 'pl_PL', 'pl', 'polish');
$lang['ENCODING'] = 'iso-8859-2'; |
na :
Kod: | @setlocale (LC_ALL, 'pl_PL.UTF-8', 'pl_PL.UTF-8', 'pl_PL', 'pl', 'polish');
$lang['ENCODING'] = 'utf-8'; |
7. Na koniec proponuję przekonwertować na UTF-8 programem "Gżegżółka XP" wszystkie pliki *.php, *.html, *.txt z katalogu /forum
Pozdrawiam. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
|