Donc je travaille sur un projet qui prend des données à partir d'un fichier, dans le fichier certaines lignes nécessitent des symboles utf8 mais sont codées bizarrement, elles sont par exemple \ ÆProblème de conversion utf8 bizarre en php
Si je fais comme suit:
$name = "\xC6ther";
$name = preg_replace('/x([a-fA-F0-9]{2})/', '&#$1;', $name);
echo utf8_encode($name);
Il fonctionne très bien. Je reçois ceci:
Æther
Mais si je tire les mêmes données de MySQL, et procédez comme suit:
$name = $row['OracleName'];
$name = preg_replace('/x([a-fA-F0-9]{2})/', '\&#$1;', $name);
$name = utf8_encode($name);
Ensuite, je reçois cela comme sortie:
\&#C6;ther
Quelqu'un sait pourquoi c'est?
Comme demandé, vardump de $ row ['OracleName'];
string(15) "xC6ther Barrier"
Lorsque les données proviennent de MySQL, il manque le \, bien que les données soient dans la table mysql elle-même. –
désolé j'ai manqué votre point, pouvez-vous nous montrer comment regarder $ row ['OracleName'] 'avec' var_dump' – RageZ