|
| Iniciado por chp, 03,jun. 2020 14:00 - 4 respuestas |
| |
| | | |
|
| |
Miembro registrado 35 mensajes |
|
| Publicado el 03,junio 2020 - 14:00 |
bonjour,
comment puis je faire pour générer un HExporteCSV de ma table au format UTF8, il semble que par défaut le fichier soit en UNICODE ?
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 92 mensajes |
|
| Publicado el 03,junio 2020 - 15:51 |
Bonjour
L'unicode est décrit dans le type de chaque rubrique de la table. Ce n'est donc pas la table qui est unicode mais ses rubriques. Pour changer en UTF8, il y a chaineVersUTF8 (à faire sur chaque rubrique de chaque enregistrement donc)
-- Bon dev.
Patrick Lalemand Des outils pour développeurs sur https://www.lapalys.ca |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 35 mensajes |
|
| Publicado el 03,junio 2020 - 16:20 |
Merci pour votre réponse,
j'avais tester cette solution sans succès.
Je fais un HExporteCSV => mon csv (en unicode) ressemble à
Titre1,Titre2 "Pdt1","44.50€" ......
maintenant je créé une boucle pour lire et créer le csv à la volée avec chaineversutf8, j'obtiens un ficher qui à l'ouverture est du type T<0>i<0>t<0>...........
idem si je fait un fchargetexte puis chaineversutf8 puis sauvegarde |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 92 mensajes |
|
| Publicado el 03,junio 2020 - 17:10 |
L'unicode est codé sur 2 octets, l'UTF8 sur un seul (comme l'ASCII et l'ANSI). La transformation d'un Unicode en UFT8 donnera donc des 0 entre les lettres (le 0 étant le code ascii du premier octes des 2). Pour être sur, vous pouvez aller sur des sites qui transforment l'unicode/l'ansi en UTF8.
Dans votre cas, transformez d'abord UnicodeVersAnsi avant ChaineVersUTF8.
-- Bon dev.
Patrick Lalemand Des outils pour développeurs sur https://www.lapalys.ca |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 35 mensajes |
|
| Publicado el 04,junio 2020 - 11:24 |
Merci, à force de chercher et avec votre explication j'y suis arrivé
voici le code de test si cela peut aider
chemin est une chaîne = fRepExe()+"\pdt.csv" sCheminUTF8 est une chaîne = fRepExe()+"\pdt_utf8.csv"
HExécuteRequête(REQ_CRON_Produits,hRequêteDéfaut) HExporteCSV(REQ_CRON_Produits,chemin,hExpCreation)
MonBuffer est un Buffer MonBuffer = fChargeTexte(chemin) MaChaîne est une chaîne UNICODE MaChaîne = MonBuffer
ResOuverture est un entier =fOuvre(sCheminUTF8,foCréation)
resultat = ChaîneVersUTF8(MaChaîne) fEcrit(ResOuverture,resultat) fFerme(ResOuverture) |
| |
| |
| | | |
|
| | | | |
| | |
|