PDA

Zobacz pełną wersję : przenoszenie



oisac
09-10-2007, 10:08
Temat przenoszenia był wiele razy poruszany. Jednak spośród 50 wyników wyszukiwania wątków na ten temat żaden z nich nie wniósł nic co by mi pomogło. Wydaje mi się, że da się to rozwiązać za pomocą opublikowanych tutaj wskazówek jednak najwyraźniej coś robie źle i dlatego nadal widzę znaki zapytania. Baza jest przenoszona z localhosta (krasnal, phpMyAdmin 2.6.0-pl2, MySQL 3.23.58-max-debug) na serwer (phpMyAdmin - 2.9.1.1, MySQL: 5.0.32). Bazę eksportuje po prostu do pliku *.sql. Zmienne i ustawienia serwera (krasnal) związane z kodowaniem to:
character set: latin1
character sets: latin1 big5 czech euc_kr gb2312 gbk 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

Zmienne i ustawienia serwera na który importujemy bazę związane z kodowaniem to:
character set client: utf8
(Wartość globalna): latin1

character set connection: latin2
(Wartość globalna): latin1

character set database: latin1

character set results: utf8
(Wartość globalna): latin1

character set server: latin1
character set system: utf8

collation connection: latin2_general_ci
(Wartość globalna): latin1_swedish_ci

collation database: latin1_swedish_ci
collation server: latin1_swedish_ci

Zawartość pliku includes/database.php związana z kodowaniem to:
$this->_table_prefix = $table_prefix;
//@mysql_query("SET NAMES 'latin2'", $this->_resource);
$this->_ticker = 0;
$this->_log = array();

Po "setnej" próbie naprawienia problemu ustawiłem metodę porównywania napisów na latin2_general_ci, system kodowania znaków dla MySQL to: UTF-8 Unicode (utf8), system porównań dla połączenia MySQL: latin2_general_ci. Nic to nie pomogło.

Zmiana Language w phpMyAdminie na localhost z Polish (pl-iso-8859-2) na Polish (pl-utf-8) też nic nie dało. Tak samo było przy zmianie tych samych parametrów przy logowaniu na serwer docelowy. Z tym że tutaj domyślnie jest utf-8.

Może to jest jakiś szczegół, moje niedopatrzenie, ale może ktoś ma jedno rozwiązanie, uniwersalne które rozwiąże ten problem. Proszę o pomoc. :)

oisac
09-10-2007, 14:59
Pod wpływem pewnego artykułu na joomla.pl wykonałem zamianę kodowania z latin2 na utf8, a wszystko zrobione za pomocą phpMyAdmin. Efekt nie jest piorunujący bo nadal widzę znaki zapytania ale po zamianie takiego znaku zapytania na ciąg kodowy (np. przy literze "ł" jest to ł) widzę prawidłową literę.
Może to kogoś naprowadzi co mam zrobić żeby wszędzie wszystkie znaki pozamieniały się na prawidłowe litery.
Z góry dziękuję za pomoc.:)