Utf8 [Résolu]

Signaler
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016
-
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016
-
Bonjour,


J'importe un fichier créé avec mysql qui est codé utf8, j'utilise la commande VFP
"Append from", le problème c'est que le codepage utf8 n'existe pas
dans VFP, je me retrouve donc avec des caractères accentués qui ne sont pas
correctes...


Quelqu'un a une idée pour convertir correctement ?


Merci par avance.


Patrice

10 réponses

Messages postés
16
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
14 novembre 2009
1
1- as-tu essayé
StrConv(StrConv(NOM;
, 11); && UTF8 > double byte
, 2) && double byte > single byte

2- tu peux chaîner les Strtran() :
Strtran(Strtran(Strtran(Strtran(Strtran(Strtran(NOM;
,'é','é');
,'ê','ê');
,'è','è');
etc.
c'est plus rapide (un seul REPLACE) et, AMHA, plus élégant.

Communauté Francophone des Professionnels FoxPro
news://news.AtoutFox.com/AtoutFox.public.association
www.AtoutFox.org
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
regarde STRCONV( ) dans l'aide
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

Bonjour,

Merci pour la réponse.

J'ai déjà utilisé sans succès strconv() mais je vais lire l'article que tu indiques.

Patrice
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

C'est un problème que je n'ai toujours pas réussi à solutionner....si quelqu'un a ue idée, je prends  :=)
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Patrice,

si ton fichier ne contient pas de données confidentielles, tu peux me le faire passer par mail pour que je fasse quelques tests (michelvfplevy _ at _ yahoo point fr)
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

Voila c'est parti...
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

Malheureusement je n'ai pas trouvé de solution à mon problème,je vis avec
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

Ma solution a été d'utiliser STRTRAN( )
Je scan tout les champs et je convertis un a un les caractères qui ne s'affichent pas correctement, ça donne quelque chose comme cela.

Replace nom With Strtran(nom,'é','é'),;
nom With Strtran(nom,'ê','ê'),;
nom With Strtran(nom,'è','è'),;
nom With Strtran(nom,'î','î'),;
nom With Strtran(nom,'ô','ô'),;
nom With Strtran(nom,'â','â'),;
nom With Strtran(nom,' à', ' à '),;
nom With Strtran(nom,'É','É');
all

C'est assez rapide et ça fonctionne.
Messages postés
58
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
31 août 2016

MERCI
StrConv(StrConv(NOM, 11)
fonctionne parfaitement
J'ai "honte" car Michel m'avait donné la piste et je pensais avoir tout essayé avec StrConv

Merci aussi pour l'optimisation, on voit les pros