| Gestion de l'encodage des caractères | | De Michel Geldenhuys - Dimanche 15 Septembre 2002 à 15:56
Après avoir lu l'article de JP sur l'intégration du moteur de recherche Google via SOAP, et ne disposant pas de moteur de recherche sur mon site, je me suis décidé à suivre les conseils prodigués.
Après plusieurs tatonnements, je suis arrivé à un résultat satisfaisant, mais je devais jouer sur le type d'encodage (ISO ou UTF-8) de la page selon que je voulais afficher une page classique ou une page "Google". J'avais notamment un problème avec un script Javascript chargé d'afficher la date du jour.
Pour me simplifier la vie, et après avoir lu pas mal sur l'output buffering, voici ce que j'ai ajouté :
....
if (strlen($q) > 0)
{
require_once($rep_include.'utf8.inc.php');
require_once('SOAP_Google.php');
....
Voici le contenu du fichier utf8.inc.php :
<?php
function utfStart() {
ob_start('utfPrint');
ob_implicit_flush(0);
}
function utfPrint($contents) {
return utf8_decode($contents);
}
utfStart();
?>
Ainsi, l'output buffering me permet d'appliquer un traitement aux données renvoyées par Google, et ce sans remettre en cause l'encodage du reste de la page. J'ai mis ce mécanisme en oeuvre sur mon site, et ma foi, le résultat est plutôt bon.
J'espère que ces informations seront intéressantes pour vous tous.
Michel
|
|