|
Encode / Décode IOS ANDROID / BASE64 |
Débuté par Amy BEN, 28 déc. 2024 06:52 - 7 réponses |
| |
| | | |
|
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 06:52 |
Bonjour à tous ;
je suis face à un problème qui me bloque sur mon avancement, j'ai une app avec un webservice Rest description : l'app doit envoyer des informations (en français, anglais ou arabe) et elle doit être lu par les users IOS ou ANDROID,
donc pour permettre ça (et surtout les échanges en arabe aussi), au lieu d'une saisie direct dans la bdd, j'encode en BASE64, formaté à UTF8
l'encodage au départ IOS et ANDOIRD, ne donnait pas le même résultat sur la bbd, puis aprés avoir forcer en UTF8, ça marche très bien voila le résultat :
le décodage c'est une autre histoire, voilà le code source du décodage :
dt est une chaîne = ChaîneVersUTF8(gtabListeJournalEnfant[nParam_NumEnreg].JournP_Details) SAI_Détails = Decode(dt,encodeBASE64)
sur ANDROID, je reçois ces caractères chinois, et sur IOS c'est vide, le champ est blanc, zéro donnée,
dans l'espoir de trouver une solution rapidement, je vous remercie de partager avec moi si vous avez trouvé la solution à ce problème de mon coté je partagerai aussi la solution si je l'a trouve avant.
merci bien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 510 messages |
|
Posté le 28 décembre 2024 - 07:03 |
Salut Si tu fais un chaîneversutf8 après avoir fait un encodé alors Pour le décodage il faut faire un utf8verschaine et non pas l'inverse comme dans ton code, Non !? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 07:42 |
Bonjour Ppoy
merci pour votre réponse, j'ai essayé, mais il affiche erreur , je en comprends pas pourquoi !
j'ai lu aussi que windev mobile, prenait en charge UTF8 nativement, et qu'il fallait juste faire le décodage, mais pareil, toujours des caractéres chinois sur ANDROID, des chaines vides sur IOS
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 07:42 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 07:43 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 10:17 |
Bonjour ,
problème résolu, il faut changer la configuration par défaut des chaines
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 28 décembre 2024 - 20:34 |
Bonsoir ;
finalement cette configuration, en l'a modifiant marche uniquement sur android, le soucis des caractères en chinois, c'est toujours pareil sur IOS,
- l'encodage en base64, en chaineversUTF8 fonctionnent parfaitement, sur ANDROID et IOS, nous avons la même chaine de caractères néanmoins le décodage c'est une autre histoire, sur ANDROID c'est bon, mais sur IOS, rien n'est visible, le trace donne un texte en chinois (alors qu'il devrait afficher : Super Bien )
HELP PLEASE |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 125 messages |
|
Posté le 30 décembre 2024 - 00:10 |
Bonsoir à tous;
pour clôturer le sujet, et si quelqu'un rencontre le même problème, voilà ce qu'il faut ajouter dans le code :
les déclarations ses chaines se font ainsi ;
msg est une chaine ANSI, et non pas seulement est une chaine
dt est une chaîne ANSI = Decode(gtabListeJR[nParam_NumEnreg].JP_Details,encodeBASE64SansRC) SAI_Détails = dt
et les caractères chinois disparaissent, compatibilité garantie entre ANDROID et IOS, encodage base64, avec UTF8 et déclarations de chaines ANSI, ainsi que paramétrage par défaut de la configuration ANDROID sur AINSI |
| |
| |
| | | |
|
| | | | |
| | |
|