Supprimer les apostrophes de Word en php

Il peut arriver que les apostrophes provenant de Microsoft Word (par un copier/ Coller dans votre CMS) dans votre base de données soit mal encodées.
Beaucoup vous dirons de régler le problème à la source, de demander à vos utilisateurs de ne pas copier-coller de texte depuis word mais ce n’est pas toujour facile à appliquer.
Une méthode simple (que je viens d’utiliser pour un projet) consiste à utiliser les fonctions php str_replace pour remplacer l’apostrophe mal encodé et chr pour retourner un caractère à partir de son code ASCII.

Voici donc la fonction php qui devrait nettoyer la chaîne de caractères.

 
function convert_quotes($string){
$search = array(chr(145),chr(146),chr(147),chr(148),chr(151));
$replace = array("'","'",'"','"','-');
return str_replace($search, $replace, $string);
}

 

Pour comprendre la fonction, vous pouvez consulter la page ASCII and binary characters

J’ai passé du temps pour contourner ce problème, j’espère que cela pourra vous aider, si vous avez d’autres solutions n’hésitez pas à les poster dans les commentaires