Bonjour,

je ne parviens pas à faire fonctionner ma fonction PHP correctement.

Voici ma fonction PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.