aiie..fait gaffe Oxman quand tu dit "investir du temps pour découvrir des choses" je te rappel ce qu'il a dit...
Citation :investir du temps pour montrer que j'ai la plus grosse
Edit Sephi-Chan : C'est nul… 
Le problème avec ce genre de "défi" est qu'il y a certainement pas mal de personnes qui se sont déjà penché sur la question et que le net fourmille de solutions.
Comment être sur que la solution présentée n'est pas un vulgaire repompage ?
Rien que dans la doc PHP, quelques versions sont proposées (2 mn de recherche grand maximum)
- Utilisation de Decode / Encode (déconseillé avec les grosses chaînes / fichiers)
Code PHP :
function is_UTF8($s) {
return (utf8_encode(utf8_decode($s)) == $s);
}
- preg_match pour détecter certains caractères (basé sur
ces infos)
Code PHP :
function is_utf8($s) {
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $s);
}
Comment démêler le vrai travail du plagiat ?
Quelles sont les critères qui permettront de déterminer le "gagnant" ?
A la limite, si le but est juste de présenter un éventail de solutions, on s'en cogne un peu mais j'ai vu des posts craignant la "triche" et la notion de gagnant/perdant sous jacente risque fort d'exacerber certains comportements.
On peux certes pomper les solutions mais au final ce sont ceux qui vont le faire "sérieusement" qui vont voir comment fonctionne l'UTF-8 et les charsets en générales ainsi que les problèmes qui peuvent y être liés.
Et même si elle n'a pas l'air super fiable il y a
mb_check_encoding() qui fait ce qui est demandé.