[ kukipei @ 06.12.2007. 12:23 ] @
Pozdrav svima,

Pokusavam da resim jedan problem vec nekoliko dana.
Naime skrepujem jednu html stranicu koja je kodirana u utf-8. Na njoj postoje nasa slova latinice (š, ć, č itd).

ovaj deo koda mi je bitan
Code:
function handle_final_scrape($html, $ISIN, $mb)
{
    global $database;
    $ind1 = strpos($html, $ISIN);
    $ind1table = strpos($html, "<table", $ind1);
    $ind2table = strpos($html, "</table", $ind1table);
    $table = substr($html, $ind1table, $ind2table + 8 - $ind1table);
    
    echo $table;
    
    $dom = new DOMDocument("1.0", "UTF-8");
    @$dom->loadHTML($table);


naredba echo $table mi ispise lepo tabelu sa nasim slovima.
Medjutim posle ovih DOM naredba kada hocu da stampam neki tekst umesto slova šđč itd ispisuje mi neke gluposti. Kao da mi dom naredbe promene encoding.

Zna li neko resenje za ovaj problem.
Puno pozdrava,
Peda
[ fimalbonegaculo @ 17.12.2007. 09:57 ] @
probaj da uradiš ovo:
Code:
$table= mb_convert_encoding($table, 'HTML-ENTITIES', "UTF-8");
ili da ipak dodaš head element svom dokumentu i specificiraš da je utf-8 način kodiranja dokumenta, pošto sam loadHTML neće ni pokušati da prepozna kodiranje.

[ [KS] @ 12.01.2008. 12:56 ] @
probaj sa

Code:

$table = rawurlencode($table);


a onda loadHTML (pretpostavljam da ima neki javascript u svemu tome), prepraviti da radi unescape() na svim dolaznim podatcima.
Meni kombinacija rawurlencode() i unescape() uvijek radi, cak i za AJAX i JSON.