Problème avec la lecture d'un fichier ligne par ligne

Eléphant du PHP | 170 Messages

29 déc. 2008, 23:31

( J'avais zappé l'UTF-8 :oops: )
... "écran" et "ecran" seront équivalents ?
"écran" et "ecran" seront différents quelque soit l'encodage.

Il faut d'abord remplacer les caractères accentués par leurs équivalents non-accentués ( é par e, è par e, ect ... ) avant de faire le comptage.

Par exemple en ISO-8859-1, le plus simple est d'utiliser strtr() ( voir le manuel, en particulier les contributions )

En UTF-8, plutôt preg_replace() ( sauf erreur de ma part )

Il faut donc savoir quel est l'encodage du texte au départ.

ViPHP
AB
ViPHP | 5818 Messages

30 déc. 2008, 03:48

Il faut donc savoir quel est l'encodage du texte au départ.
Effectivement comme de plus en plus de sites sont codés en utf-8, je me dis qu'on devrait spécifier l'encodage du texte notamment pour les regex sinon on peut vite avoir de mauvaises surprises. Et les débutants qui demandent conseil pourraient aussi penser que le code peut fonctionner quelque soit le type d'encodage utilisé.
Et puis il n'y a pas que les regex. htmlentities(), strpos(), strlen(), substr() entre autres font partie du lot, sans oublier strtr() qui pose problème également en UTF-8 (dans ce cas on utilise plutôt str_replace() qui est valable quelque soit le type d'encodage utilisé).

Enfin bon j'ai pas de mal à être sensibilisé sur le sujet puisque je viens juste de faire un petit tuto sur l'encodage utf-8