Potrebno je da bazu prebacim sa jednog servera na drugu mašinu.
Problem se javlja u redovima koji u sebi sadrže specijalne znake koji nisu unescapovani, između ostalih i ' (tj. jednostruki navodnik).
Bazu sam pokušavao da prebacim na više načina. Jedan je bio da napravim dump stare baze u .sql fajl, pa onda prebacim taj fajl na novu mašinu i restorujem bazu iz tog fajla. Problem je u redovima kao što je ovaj:
INSERT INTO `tabela` VALUES ('1234', 'something', 'that's all folks')
INSERT INTO `tabela` VALUES ('1234', '5678', 'that^Òs all folks')
Drugo što sam probao je da bazu prebacim sa jednog servera na drugi koristeći Navicat i njegovu opciju za sinhronizaciju, ali opet se isto dogodilo. Verovatno i on u backendu to pretvara u SQL upite koji imaju grešku u sebi zbog gorenavedenog navodnika...
Da li neko ima ideju kako da ovo rešim?
Radio bih upit koji u celoj bazi menja karakter ' u \' ali nisam siguran da će to da reši problem jer se plašim da ima još karaktera koji mogu da naprave zbrku.
Inače u pitanju je phpBB forum i njegova phpbb_posts_text tabela, a kasnije sam video da ima grešaka i u phpbb_topics tabeli. Obe tabele bi trebalo da su u UTF-8 encodingu, bar tako kaže Navicat...
Stari server kaže da je verzija : mySQL 4.0.27-standard-log
Novi server: mySQL 5.0.26-log
oba trče na Linuxu, ne znam trenutno koje su distribucije u pitanju, novi je Gentoo, mislim da je stari RedHat, mada cenim da je to dosta nebitno.
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪