Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
|
Forum - Polski Portal COLOBOTa |
|
|
Import bazy mysql w kodowaniu ISO-8859-2 |
Autor |
Wiadomość |
COLOBOT
Administrator sieci Założyciel portalu
Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz Dołączył: 07 Lut 2008 Posty: 353 Skąd: Jarocin
|
Wysłany: 08-02-2010, 21:07 Import bazy mysql w kodowaniu ISO-8859-2
|
|
|
Będzie krótko, konkretnie i rzeczowo.
Na pewnym serwerze miałem postawione forum i padła mi baza danych. Skrypt forumowy zapisywał codziennie kopie na ftp i jestem w posiadaniu najnowszej kopii. Problem polega na tym, że kopia jest zapisana w kodowaniu ISO-8859-2. Przy każdej próbie importu bazy na nowy serwer zamiast polskich liter pojawiają się znaki zapytania.
I moje pytanie: w jaki sposób/czym przekonwertować tę kopię bazy danych aby była zgodna z jakimkolwiek standardem obsługiwanym przez PHPMyAdmina (mysql3, mysql4, ANSI i parę innych jest do wybory)?
W połowie rozwiązałem ten problem. Baza przy tworzeniu tabel domyślnie korzysta z porównywania napisów "latin1_swedish_ci", a powinna z "utf8_polish_ci". Cholerny skrypt nijak nie chce się przerzucić na to kodowanie. Jak mu to narzucić? |
_________________ Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
|
|
|
|
|
Bartek c++
Twoja ulubiona misja: Tropica - Czas na atak
Pomógł: 6 razy Wiek: 20 Dołączył: 07 Lip 2009 Posty: 390
|
Wysłany: 08-02-2010, 21:31
|
|
|
Gdzieś necie lerzy kod HTML kodowujący strone na polski język ale kurde zapomniałem gdzie to jest poszukam czegoś.
Cytat: | wymyśliłem taki myk żeby sprawdzić jakie dokładnie siedzi kodowanie w starej bazie, jakie widzi adodb:
$db = NewADOConnection('######');
ADOdb_Active_Record::SetDataba seAdapter($db);
class Wykonawc extends ADOdb_active_record {}
$tst = new Wykonawc("wykonawc");
$tst->Load("id=1");
$naz_wyk=$tst->naz_wyk;
$kodowanie=mb_detect_encoding( $naz_wyk)
echo($kodowanie);
i pozniej jesli chodzi o przekonwertowanie:
$txt = text z nowej bazy;
echo(iconv(mb_detect_encoding( $txt),$kodowanie,$txt));
to sie tyczy synchronizatora zeby wiedzial co na co przekodowac... moze zadziala;)
| to z jakiejś stronki, cytowanie jakiegoś gościa
jeszcz to
http://forum.php.pl/index.php?showtopic=38309 |
_________________
|
|
|
|
|
Schocker
Wants cookies!
Twoja ulubiona misja: Hmm... All.
Pomógł: 3 razy Wiek: 22 Dołączył: 31 Maj 2009 Posty: 177 Skąd: Wadowice
|
Wysłany: 08-02-2010, 22:50
|
|
|
Czyżby PMA nie obsługiwał kodowania ISO-8859-2? Dziwne.. Sprawdzę to jutro.
Osobiście korzystam z utf8-bin na moim lokalnym serwerze i nie ma żadnych problemów. ^^ |
_________________ But there's no sense crying over every mistake, you just keep on trying 'till you ran out of cake -GlaDOS
|
|
|
|
|
COLOBOT
Administrator sieci Założyciel portalu
Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz Dołączył: 07 Lut 2008 Posty: 353 Skąd: Jarocin
|
Wysłany: 08-02-2010, 23:15
|
|
|
Obsługuje, tyle że przy dodawaniu tabel kodowanie zostaje automatycznie ustawione na szweckie latin, a powinno być polskie utf-8 (chodzi o ostatnią linijkę - w mojej kopii bazy jej nie ma):
Kod: | DROP TABLE IF EXISTS `phpbb_adv_person`;
CREATE TABLE IF NOT EXISTS `phpbb_adv_person` (
`user_id` mediumint(9) NOT NULL default '0',
`person_id` mediumint(9) NOT NULL default '0',
`person_ip` char(8) collate utf8_polish_ci default '',
PRIMARY KEY (`user_id`,`person_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; |
Normalnie nie problem to zmienić, ale tabel jest ponad 70.
PS: Spróbuję coś wykombinować w języku AWK - mam nadzieję, że mi się uda. |
_________________ Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
|
|
|
|
|
adiblol
Administrator forum FLOSS FTW!
Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy Dołączył: 21 Kwi 2008 Posty: 1313 Skąd: pokój odsłuchowy
|
Wysłany: 09-02-2010, 14:02
|
|
|
Przekonwertuj na UTF8 przy pomocy Notepad++. A tamtą linię możesz dodać bardzo prostym poleceniem zamiany. |
_________________ 1Tbps Project && Telecomix Network
|
|
|
|
|
COLOBOT
Administrator sieci Założyciel portalu
Twoja ulubiona misja: Obie na Orfenii
Pomógł: 1 raz Dołączył: 07 Lut 2008 Posty: 353 Skąd: Jarocin
|
Wysłany: 09-02-2010, 14:40
|
|
|
Konwersja nic nie daje (w ISO-8859-2 też wczytuje poprawnie), tu o chodzi o opcję "porównywanie napisów".
A z tym poleceniem zamiany to jeśli chodzi o opcję "Znajdź/zamień" to nie ma tak prosto, gdyż przeplatane są polecenia CREATE TABLE i INSERT INTO, a w tym drugim nie można dodać tej dodatkowej linijki.
W każdym razie wszystkim dziekuję za zainteresowanie, przynajmniej wiem o co chodzi, więc sobie poradzę. |
_________________ Bykom STOP
A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.
|
|
|
|
|
|
|
| |
|
|
|
|
Polski Portal COLOBOTa © 2008 - 2012 |
|
|