Bonjour,
Je tourne en rond, je ne trouve pas de solution.
Je vous explique le problème:
Je dispose d'une base de données en utf-8 dans laquelle certains mots comportent des œ (typiquement, "cœur"). J'ai une nouvelle colonne dans mes tables que je souhaite remplir. La nouvelle info que je souhaite insérer se trouve dans un fichier (en utf-8 également) dans lequel ces mots sont précisés (afin de savoir où insérer la nouvelle info) mais les "œ" sont écrits "oe" dans cette liste.
J'ai donc naïvement pensé qu'un simplesuffirait à résoudre mon problème et à faire correspondre les mots de mon fichier texte avec ceux de ma base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $toto = ereg_replace('oe','',$toto);
Mais oh, malheur! Je travaille sous Windows! Et pour obtenir le œ, je tape ALT + 0156, ce qui ne génère pas un œ UTF-8 ni Unicode, mais windows-1252, donc, pas de matching entre ma chaîne nouvellement créée et celle inscrite dans ma base.
j'ai donc voulu utiliser une variable:
mais à ce moment là, le résultat est pire, mon œ disparait complètement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $oe = ''; $oe = utf8_encode($oe);
Je tourne en rond, je ne trouve aucune solution... On m'a suggéré d'entrer le code unicode précédé de "\u" et donc d'avoir
mais ça ne fonctionne pas non plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $oe = '\u0153'; ereg_replace('oe',$oe,$toto);
Est-ce qu'ici quelqu'un pourrait m'aider?
Partager