Bonjour à Tous,

Je dois déménager une vieille BDD MySQL mal encodée vers une toute neuve UTF8.
Comme dab, gros problèmes d'encodage. iconv et utf8_decode fonctionne bien mais quelques cochonneries passent encore au travers, comme ’ qui est sensé être une apostrophe...
Ce truc nous donne donc, une fois encodé :

C?est une apostrophe
str_replace ignore ’, donc je me dis que, même si c'est très artisanal, que je pourrais créer un regex qui identifierait le ? dès lors qu'il est entouré de lettres pour le remplacer par une vraie apostrophe. Mais les regex, c'est compliqué...
Comment donc détecter "C?est" et ignorer le "vrai" ? de fin de phrase ?

J'ai tenté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
		if(preg_match("#^[a-zA-Z]?[a-zA-Z]$#",$str)){
			echo $str."<br>";
		}
Merci de votre aide.