Aller au contenu

problème d'encodage...


lorik

Sujets conseillés

Hello,
Je m'arrache ce qui me reste de cheveux sur un truc pourtant sans doute basique sur le papier...

J'ai 2 tables, en latin1_swedish_ci .
La première (cible) est alimentée par des formulaires web. La 2eme (source)  par des sources externes de données.
Je cherche à alimenter la première avec les données de la 2eme. Pas de problème de script, ça marche. Par contre, les données importées à partir de 'source' ressortent très mal dans la page une fois publiées. Bon, un problème d'encodage, ok, mais je ne m'en sors pas pour trouver quoi faire avec les données importées pour qu'elles soient correctes.
j'ai testé avec mb_detect_encoding, les données de ma (source) sont en utf-8, et les données de ma (cible) sont en ASCII.
mais impossible de trouver la solution pour transformer mes données source en ASCII avant de les importer... utf8-decode ne donne pas de résultat...


Bref, je seche grave... :(

Merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Hello,

 

Bienvenue dans l'univers étrange de l'encodage, j'ai connu ça aussi, j'y ai laissé pas mal de cheveux mais heureusement ça repousse.
Si les sources de données sont nombreuses et multiples tu risque de devoir t'adapter à chacune d'entre elle.

Pour ma part j'ai déjà essayé d'appliquer plusieurs fonctions, dans ce genre de cas ça passe ou ça casse, il faut donc tester.

Essaye déjà de voir avec ces quelques exemples mais si ça fonctionne pour un ça ne serra peut-être pas le cas pour d'autres
 

$result = mb_convert_encoding($machaine, 'HTML-ENTITIES', 'UTF-8');

$result = utf8_decode(htmlentities((string)$machaine, ENT_COMPAT, 'UTF-8'));

$result = htmlentities(utf8_decode($machaine));

$result = htmlentities($machaine);

$result = html_entity_decode(utf8_decode($machaine), ENT_COMPAT, 'ISO-8859-1');

$result = utf8_decode($machaine);

$result = mb_convert_encoding($machaine, 'ISO-8859-1', 'UTF-8');

$result = iconv('UTF-8', 'ISO-8859-1', $machaine);


Bon courage :)

 

Modifié par yannick06
Lien vers le commentaire
Partager sur d’autres sites

Hello, merci de la réponse.

après moult tests, en fait, c'était juste un utf8_encode qu'il fallait faire... mais je garde de coté tous tes trucs, j'ai pas de doute que je vais encore ramer, j'ai effectivement d'autres sources....

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...