PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Requête HTTP, JSON récupérer les caractères spéciaux, arabes
Requête HTTP, JSON récupérer les caractères spéciaux, arabes
Débuté par NiceBel, 04 fév. 2017 14:11 - 5 réponses
Membre enregistré
513 messages
Popularité : +7 (7 votes)
Posté le 04 février 2017 - 14:11
Bonjour,

J’exécute la requête HTTP comme suit:
b est un booléen = HTTPRequête("MonURL")
SI PAS ErreurDétectée() ET b = Vrai ALORS
s est une chaîne UNICODE = UTF8VersChaîne(HTTPDonneRésultat())
LIB_SansNom3 = s
FIN

Le Résultat obtenu en exécutant le liens sur un navigateur est comme suit:
{
"articles": [
{
"$id_chouftv": "3",
"$titre_chouftv": "ساكنة جماعة السوالم ببرشيد تدق ناقوس الخطر من الضرر الذي يخلفه مصنع مخصص لصناعة الأعلاف يلوث البيئة",
"$video_chouftv": "aNqcMV4-7sg",
"$imageP_chouftv": "http://adgroupe.ma/chouftv/uploads/articles/image_1486204226.jpg",
"$date_creation_chouftv": "04-02-2017 à 10:30",
"$id_categorie_chouftv": "8",
"$categorie_chouftv": "روبورتاج"
},
......
]
}

Le Résultat obtenu en exécutant le liens sur une application mobile est comme suit:
{"articles":[{"$id_chouftv":"3","$titre_chouftv":"\u0633\u0627\u0643\u0646\u0629 \u062c\u0645\u0627\u0639\u0629 \u0627\u0644\u0633\u0648\u0627\u0644\u0645 \u0628\u0628\u0631\u0634\u064a\u062f \u062a\u062f\u0642 \u0646\u0627\u0642\u0648\u0633 \u0627\u0644\u062e\u0637\u0631 \u0645\u0646 \u0627\u0644\u0636\u0631\u0631 \u0627\u0644\u0630\u064a \u064a\u062e\u0644\u0641\u0647 \u0645\u0635\u0646\u0639 \u0645\u062e\u0635\u0635 \u0644\u0635\u0646\u0627\u0639\u0629 \u0627\u0644\u0623\u0639\u0644\u0627\u0641 \u064a\u0644\u0648\u062b \u0627\u0644\u0628\u064a\u0626\u0629","$video_chouftv":"aNqcMV4-7sg","$imageP_chouftv":"http:\/\/adgroupe.ma\/chouftv\/uploads\/articles\/image_1486204226.jpg","$date_creation_chouftv":"04-02-2017 \u00e0 10:30","$id_categorie_chouftv":"8","$categorie_chouftv":"\u0631\u0648\u0628\u0648\u0631\u062a\u0627\u062c"},
......
"}]}


Le problème c'est que je ne peut pas récupérer les caractères arabes ni des caractères spéciaux tel que : "à".
Help pleez :) si quelqu'un a déjà rencontré tel genre de difficultés..

Merci bien !!
Membre enregistré
513 messages
Popularité : +7 (7 votes)
Posté le 04 février 2017 - 14:13
Avant l'appel à la fonction: utf8VersUnicode, c'est des caracères chinoix !!
J'ai déjà essayé:
UTF8VersChaîne
UTF8VersAnsi
AnsiVersUnicode

Sans succès !!

Sachant que ce liens: https://www.branah.com/unicode-converter
Convertit bien les \u0644 par exemple en lettres arabes !!
Message modifié, 04 février 2017 - 14:41
Membre enregistré
513 messages
Popularité : +7 (7 votes)
Posté le 06 février 2017 - 10:49
Avez vous des idées, des propositions? ...
Help pleez !!
Merci :)
Membre enregistré
513 messages
Popularité : +7 (7 votes)
Posté le 06 février 2017 - 11:49
J'ai essayé:
ChangeAlphabet(alphabetArabe,langueArabe)
UTF8VersChaîne(HTTPDonneRésultat(),alphabetArabe)

Malheureusement aucun succès !!
Posté le 24 février 2017 - 00:53
Bonjour,

Il faut écrire ce code à l'initialisation du projet :

// Passer la langue d'affichage de l'application en arabe
Nation(nationArabe)
//// Passer les polices en arabe
ChangeAlphabet( alphabetArabe )
//// Change le clavier
ChangeClavier ( langueArabe )

ensuite:
sRes_HTTP est une chaîne UNICODE = UTF8VersChaîne(HTTPDonneRésultat())
Membre enregistré
513 messages
Popularité : +7 (7 votes)
Posté le 24 février 2017 - 10:10
ça marche pas sous android !!
Je partage ma solution:

Procedure Unicode_to_arabe(sch est une chaîne)
schretour est une chaîne
schretour= Remplace(sch,"\u0627","?")
schretour= Remplace(schretour,"\u0644","?")
schretour= Remplace(schretour,"\u0628","?")
schretour= Remplace(schretour,"\u062b","?")
schretour= Remplace(schretour,"\u062c","?")
schretour= Remplace(schretour,"\u062d","?")
schretour= Remplace(schretour,"\u062e","?")
schretour= Remplace(schretour,"\u062f","?")
schretour= Remplace(schretour,"\u0630","?")
schretour= Remplace(schretour,"\u0631","?")
schretour= Remplace(schretour,"\u0632","?")
schretour= Remplace(schretour,"\u0633","?")
schretour= Remplace(schretour,"\u0634","?")
schretour= Remplace(schretour,"\u0635","?")
schretour= Remplace(schretour,"\u0636","?")
schretour= Remplace(schretour,"\u0637","?")
schretour= Remplace(schretour,"\u0638","?")
schretour= Remplace(schretour,"\u0639","?")
schretour= Remplace(schretour,"\u063a","?")
schretour= Remplace(schretour,"\u0641","?")
schretour= Remplace(schretour,"\u0642","?")
schretour= Remplace(schretour,"\u0643","?")
schretour= Remplace(schretour,"\u0644","?")
schretour= Remplace(schretour,"\u0645","?")
schretour= Remplace(schretour,"\u0646","?")
schretour= Remplace(schretour,"\u0647","?")
schretour= Remplace(schretour,"\u0648","?")
schretour= Remplace(schretour,"\u064a","?")
schretour= Remplace(schretour,"\u0629","?")
schretour= Remplace(schretour,"\u0622","?")
schretour= Remplace(schretour,"\u0625","?")
schretour= Remplace(schretour,"\u0649","?")
schretour= Remplace(schretour,"\u00e0","à")
schretour= Remplace(schretour,"\u062a","?")
schretour= Remplace(schretour,"\u0623","?")
schretour= Remplace(schretour,"\u0626","?")
schretour= Remplace(schretour,"\u064b","?")
schretour= Remplace(schretour,"\u0624","?")
schretour= Remplace(schretour,"\u060c","?")
schretour= Remplace(schretour,"\u0621","?")
schretour= Remplace(schretour,"\u064c","?")
schretour= Remplace(schretour,"\u064e","??")
schretour= Remplace(schretour,"\u0651","?")
schretour= Remplace(schretour,"\u0652","?")
schretour= Remplace(schretour,"\u0650","?")
schretour= Remplace(schretour,"\u064d","?")
schretour= Remplace(schretour,"\u0640","?")
schretour= Remplace(schretour,"\u065e","^")
schretour= Remplace(schretour,"\u06f9","ù")
schretour= Remplace(schretour,"\u06e9","é")
schretour= Remplace(schretour,"\u06e8","è")
schretour= Remplace(schretour,"\u0625","%")
schretour= Remplace(schretour,"\u00ea","ê")
schretour= Remplace(schretour,"\u061f","?")
//
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
//schretour= Remplace(schretour,"\u06","")
RENVOYER schretour


Apparement la zone n'a pas affiché les caractères arabe, dans ce cas visitez ce site:
Sachant que ce liens: https://www.branah.com/unicode-converter
pour trouver l'équivalent de chaque caractère \u06e8.
Message modifié, 24 février 2017 - 10:12