[ 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....