Salut à tous,
Ça fait 3 jours que je m'arrache les cheveux sur des problème de charset entre autre et pas moyen de trouver une solution.
j'ai une page en html que voici : http://www.immoweb.be/en/Buy.Estate....allery&xpage=1
Qui à première vue à un charset en iso-8859-1. J'essaye d'extraire du contenu de cette page pour l'insérer dans une table mysql (avec un interclassement en utf-8). Impossible d'obtenir un contenu correctement lisible (sans caractère spéciaux) à inséré dans ma db, même si à l'affichage mon IE corrige la sortie quand j'affiche le contenu de la page on voie clairement les caractères spéciaux.
Voici mon code :
et j'obtiens pour mes données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 libxml_use_internal_errors(true); $doc = new DOMDocument; $doc->loadHTML('<?xml encoding="UTF-8">' . $file; //j'ai essayé aussi avec loadhtmlFile($url); mais meme résultat $doc->encoding = 'UTF-8'; $xpath = new DOMXPath($doc); //Sujet $tabSujet = array(); foreach($xpath->query('//td[@align="left"]/h1[@class="nopadding"]') as $node) { $tabSujet[] = $node->nodeValue; } $Sujet = $tabSujet[0]; preg_match("@(.*?)\(@si", $Sujet, $Sujet); $strSujet = str_replace("\xC2","",$Sujet[1]); // juste pour enlever un blanc //Contenu $tabContenu = array(); foreach($xpath->query('//*[@id="container"]//div[@align="left"]') as $node) { $tabContenu[] = $node->nodeValue; } $strContenu = $tabContenu[0]; $strSQL = "insert into annonce0 (Sujet,Contenu,Prix,RefBien,URL) values ('" . $data['sujet'] . "','" . addslashes($data['contenu']) . "'," . trim($Prix) . ",'" . trim($Prix) . "','" . $url . "')";
sujet : Chã¢teau ã vendre
contenu : Ohain limite La Hulpe,Ds esp verdoyants,champ pfs sauvages,d'une rare beautã©,superbe propr,villas, dem prestige. Idã©al et incontourn pr rã©cep VIP,vie mondaine et protocol,plusde 35
Merci d'avance à celui qui aura une piste.
Partager