milosijaa @ 06.06.2008. 01:44
Dobio sam Dump od preko 100MB (72 tabele) i aplikaciju u PHP-u.
Sadržaj koji vuče aplikacija iz baze sadrži (šđčćž) ali umesto nasih slova dobijam ? (znakove pitanja)
By the way na starom serveru je sve bilo OK ali na novom samo ?
e sad treba izmeniti kodne rasporede(1250--->UTF8) za odredjene kolone i naravno izmeniti iste na odgovaraju'im HTML stranicama.
Baza inace sadrzi podatke na cetiri jezika.
Molio bih da mi neko saopsti sto bezbolniji put. Poslednja opcija je BRUTAL FORCE.
Goran Rakić @ 06.06.2008. 04:38
Valjda pod „brute force“ ne misliš da ručno menjaš znak po znak. Elem, ja ne znam za brže od toga da izdvojiš samo te kolone upitom u novu tabelu, tabelu izvezeš, primeniš programče iconv da presloviš šta već treba, uvezeš tabelu, i jednim upitom vratiš kolone preko starih.
mulaz @ 06.06.2008. 08:03
dali "?" znaci stvarno "?" ili samo neki znak kojeg taj viewer ne moze da ispise na ekranu? Ukoliko je prvo, ... sr**e... ako je drugo, mozes i neki search i replace da uradis na fajlu u nekom tex editoru (koji prezivi toliki fajl), ili necim (program, skripta,...) da isparsiras taj tekst i da time promenis sve simbole
stsung @ 06.06.2008. 08:25
Pozd.
Generalno gledano, ako je polazni dump "normalan", u smislu da je korishcen charset koji je odgovarajuc u polaznoj bazi (shto nije uvek sluchaj i to je stvar koja bi zakomplikovala zhivot), ne bi smelo da ima problema pri importu podataka. Moguce je da u stvari imash problem samo sa prikazom podataka. Navedi tachno u kojem charsetu je polazni dump - navedi recimo jedan create table upit, i navedi vrh dumpa, tamo gde setuje varijable.
Svako dobro.
mickey.co.ba @ 09.06.2008. 23:46
imao sam neki dan sličnu situaciju... cijelu bazu sam prebacio sa ISO-8859-2 na utf8...
napravio sam skripticu i snimio je kao utf-8 fajl i sa iconv("ISO-8859-2", "UTF-8", $txt) mjenjao sve u bazi...
Code:
$sql = "SELECT ID, a, b, c FROM tabela";
$q = mysql_query($sql) or die(mysql_error());
while($p = mysql_fetch_array($q)){
$a= $p[a];
$b= $p[b];
$c= $p[c];
mysql_query("UPDATE tabela SET a = '".iconv("ISO-8859-2", "UTF-8", $a)."', b = '".iconv("ISO-8859-2", "UTF-8", $b)."', c = '".iconv("ISO-8859-2", "UTF-8", $c)."' WHERE id = $p[ID] LIMIT 1");
}
stsung @ 09.06.2008. 23:55
Pozd.
Ne znam zashto nisi jednostavno uradio ALTER pa rekao da konvertuje u UTF8 umesto da idesh ovako red po red. Jednostavnije je i brzhe.
Svako dobro.
emiru @ 18.06.2008. 23:32
Resices problem ako uradis dump preko shell-a pa posle downloadujes sql fajl. Posle ga opet prebaci preko shella ili mozes koristiti mysql front da bi kod sebe prebacio.
milosijaa @ 25.07.2008. 02:13
TNX ljudi na pomoci.
Sve dumpove sam provukao kroz iconv i sve radi. Ono sto me je zbunilo u celoj prici je sledece:
AKo odradim konvertovanje iz bilo kod kodnog rasporeda u UTF-8 i onda pokusam taj dump da importujem u bazu preko phpMyAdmina importuje se samo sadrzaj do nekog "naseg slova" ŠĐČĆŽšđčćž ostatak jednostavno nije ubacen. Da pojasnim malo.
INSERT INTO tabela VALUES(null, 'Pera je mnogo čudan dečko.');
U tabelu ce biti ubacen samo teksto do reci čudan.
Dakle ovo se desava ako prilikom importa u phpMyAdminu izaberem Character set UTF-8.
Ako izaberem latin1 u bazi imam kuke i kvake umestonasih slova ali na HTML stranici je sve OK....
Copyright (C) 2001-2008 by www.elitesecurity.org. All rights reserved.