Manipulation de string utf8

Petit nouveau ! | 1 Messages

15 mars 2013, 21:32

Bonjour

J'ai un fichier .htm (enregistré depuis une page tchéque via enregistrer sous de firefox).

Le mot à afficher est "Číslo"

Code : Tout sélectionner

mb_internal_encoding("UTF-8");

Code : Tout sélectionner

$content = file_get_contents($filename);

Code : Tout sélectionner

$test=mb_strpo($content, "Číslo");
Un var dump de $test donne FALSE.

Suite à différents tests je constate que la string en mémoire est Číslo
Le script essaie donc d'afficher de l'UTF8 sans savoir que c'est de l'UTF8.

J'ai essayé en faisant un fread, idem.
On dirait que c'est lors du remplissage de $content que le probléme d'encodage apparait.
Une idée?

Merci d'avance.

Mammouth du PHP | 2278 Messages

16 mars 2013, 10:27

après :
$content = file_get_contents($filename);
commence par mettre:
print "$content";
pour voir de quoi il s'agit.
et mb_strpos et non mb_strpo
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
ViPHP | 1996 Messages

17 mars 2013, 00:34

Que te donnes :
If (mb_internal_encoding("UTF-8") === false)
    echo 'erreur de changement d\'encodage';
Est ce que ton fichier $filename est bien encodée en utf-8 (et pas en ainsi par exemple) ?

Que te donnes :
var_dump (mb_detect_encoding(file_get_contents($filename)));
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr