Aller au contenu
lorik

problème d'encodage...

Noter ce sujet :

Recommended Posts

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.

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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....

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×