Vous l’aurez sans doute remarqué, lorsqu’on importe des données de fichiers MS-Word et Excell (ou plus généralement de la Suite Office) dans une base de données SQL et qu’on veut les afficher en PHP/HTML, on se retrouve avec des caractères non affichés ou qui ne sont pas les bons (les doubles quotes, les simples quote, apostrophes, points de suspension (les « 3 petits points ») etc.).
Pour palier à celà, une petite fonction toute bête qui va remplacer les mauvais caractères par des caractères ACSII :
function msword_text_to_ascii($str) { $str = str_replace(array("\x82", "\x84", "\x85", "\x91", "\x92", "\x93", "\x94", "\x95", "\x96", "\x97", "\xBB", "\xAB", "\xB4", "\x60"), array("\"", "\"", "...", "'", "'", "\"", "\"", "*", "-", "--", "\"", "\"", "\'", "\'"), $str); return $str; }
A mettre de préférence à la génération de la page (MySQL gérant correctement ce jeu de caractères).
1000 mercis ! exactement ce dont j’avais besoin…comme quoi même 4 ans après la publication…
sam