Impossible de convertir correctement en UTF-8
Bonjour,
je ne parviens pas à faire fonctionner ma fonction PHP correctement.
Voici ma fonction PHP :
Code:
1 2 3 4 5 6 7 8
| // Création d'une fonction PHP pour encoder en UTF-8 n'importe quelle chaine de caractere
public function convertString($string) {
$encoding = mb_detect_encoding($string);
if($encoding != 'UTF-8') {
$string = iconv($encoding, 'UTF-8', $string);
}
return $string;
} |
Cette fonction devrait théoriquement toujours bien fonctionner mais il arrive certaines situations où la fonction ne remplis pas correctement son rôle.
Je précise que j'ai bien encoder mes fichiers en UTF-8 et que j'ai ajouté la balise meta charset UTF-8.
Dans certaines situations, il me renvois ce genre de résultat é ou encore ê
Le truc c'est que cette fonction PHP fonctionne à l'état brut, mais lorsque je parse des pages HTML et que j'extrai le contenu des pages via le DOM, je n'arrive pas toujours à obtenir une chaine formatée correctement.
Voici la fonction que j'utilise pour extraire le contenu HTML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public function getHtml() {
$global_sql_connection = $this->global_sql_connection;
$ch = curl_init();
$user_agent="Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0";
curl_setopt ($ch, CURLOPT_URL, $this->global_url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,1);
curl_setopt ($ch,CURLOPT_TIMEOUT,5);
curl_setopt ($ch,CURLOPT_MAXREDIRS,2);
$this->global_html = curl_exec($ch);
} |
Comment faire s'il vous plaît ?
Merci
Salutations.