PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → Problème avec les Mots en arabe dans le "test mobile" de mon application
Problème avec les Mots en arabe dans le "test mobile" de mon application
Débuté par YOUSRI FALHI, 13 juin 2019 18:14 - 4 réponses
Membre enregistré
10 messages
Posté le 13 juin 2019 - 18:14
Bonjour tous le monde voila ,

j'ai un problème dans l'exécution des requêtes avec un LIKE '%Mot en arabe%' ou = 'Mot en arabe'
dans le simulateur les requêtes marchent très bien et donnent des résultats
par contre dans le test mobile les résultats et sont vides.

j'ai créer une application avec :
- windev mobile 20
- php4WDX-9.2.0.9
- phpMysql

Bdd :
J'utilise des données en langue arabe, alors j'ai changer l'encodage de Ma base et mes tables en "UTF8_general_ci".

Application:

paramètres init du projet

Conn_mysql:TypeBase = "PDOMySQL"
Conn_mysql:CleCryptage = "YOUSRI"
Conn_mysql:CryptRetour = Faux

Conn_mysql:methodeZip=Faux
Conn_mysql:dataHexa = Faux
Conn_mysql:modeUTF8Entree = Vrai
Conn_mysql:modeUTF8Sortie = Faux

//-----------------------------------------------------
// pour les langues avec sgines
// par exemple l'arabe
//-----------------------------------------------------
Conn_mysql:charset = "utf-8"
Conn_mysql:alphabet = alphabetUTF8
Conn_mysql:CrypteReq = Faux


Pour ma requête :

Procedure procédure_code_uni_categorie(paramcategorie)


reqcodeunicategorie est une chaîne = [
SELECT code_uni_categorie_service FROM categorie_services WHERE Categorie %1
]

reqcodeunicategorie = ChaîneConstruit(reqcodeunicategorie,"LIKE '%"+paramcategorie+"%'") ///paramcategorie (Mot en arabe) ///

resultvar est un entier = ProcéduresGlobales.Conn_mysql:mySQLExec(reqcodeunicategorie,1)

SI (resultvar = 1) ALORS

SI ProcéduresGlobales.Conn_mysql:mySQLFetch(1)

ProcéduresGlobales.code_uni_categorie = ProcéduresGlobales.Conn_mysql:mySQLLitColParNom(1,"code_uni_categorie_service")

SINON
// la lecture n'a rien renvoyer le resultat de la requete est vide
Info("Aucune donnee trouvee")
RETOUR

FIN
SINON
Erreur("Erreur n° " + ProcéduresGlobales.Conn_mysql:mySQLErreur,ProcéduresGlobales.Conn_mysql:mySQLGetErrorMessage(),ProcéduresGlobales.Conn_mysql:ErreurText)
FIN
ProcéduresGlobales.Conn_mysql:mySQLFerme(1)


donc comme j'ai dit dans le simulateur ce code marche très bien mais sur le mobile donne un résultat vide

j'ai aussi rajouté ce code dans les paramètres d'initialisation du projet

Conn_mysql:PocketPC = Vrai


ça na rien changer

est ce que quelqu'un a une idée de ce qu'il faut faire !!!

Merci d'avance
Membre enregistré
1 603 messages
Popularité : +64 (70 votes)
Posté le 14 juin 2019 - 10:23
Bonjour,

Je n'utilise pas phpMysql mais pour la langue arabe, l'UNICODE est à mon avis nécessaire.
L'UNICODE est par ailleurs le format par défaut des chaines dans W Mobile.
Après il reste le sens d'affichage.

--
Cordialement
François
Membre enregistré
10 messages
Posté le 16 juin 2019 - 17:07
Re_Bonjour,

J'ai suivi votre conseil

j'ai changer l'encodage de ma base mes tables et les champs de "UTF8_general_ci" et je lui remplacer par "UTF8_unicode_ci"

toujours le même problème ;(

les requêtes avec des mots en arabe comme recherche ne donnent pas de résultat sur l’exécution mobile :(
Membre enregistré
3 304 messages
Popularité : +93 (137 votes)
Posté le 24 juin 2019 - 15:15
la version 9.2.0.12 est en ligne
SQLManagerX, le développement SQL sous windev
http://www.sqlmanagerx.com/download/acces_natifs/php4WDX-9.2.0.12.zip

elle regle un petit souci pour les windev Mobiles
et les recherches en arabe dans la requete du style : select nom,prenom,dateNaissance,adresse,hex(imgClient) as imgClient from contacts where adresse like '%دافئ في المنزل%'
il y a une discussion sur le forum : SQLManagerX - affichage Des données en arabe avec php4wd !!! [forum - Accès natifs]

la version est 19 minimum (et compatible windev windev mobile, webdev de 19 a 24)
vous avez aussi une maj et des videos de SQLManagerX

le seule site officiel est SQLManagerX.com
et si dans vos fichiers .php vous n'avez pas l'entete c'est que certain vous font croire que cela est leur travail
les entetes de tous les fichiers (.php et classe windev ) sont de ce style :

/****************************************************************************************************************************/
/* PHP4WX 9.2.0.12 du 24/06/2019
/* Createur : EMPRIN Frederic @ 2003
/* email : emprin.frederic@emidev.fr
/* www.emidev.fr / www.SQLManagerX.com
/****************************************************************************************************************************/

les autres version php4wm ne sont plus d'actualités car elle presentent pas mal de problemes qui on ete reglés par
la php4WX (qui le meme code pour les 3 : windev, mobile, webdev) et donc la classe est a intégrer dans le code facilement
en 19 vous aurez 3 erreur mais les tables n'esitant pas en mobile 19 = c'est normale (soit vous mettez la methode en commentaire, soit vous la supprimée)
mais a partir de 20 il n'y a plus de messages

voila
les zip sont garantis sans virus (de toute façon il n'y a que 3 fichiers) les zip projet exemple par exemple est un zip
du projet de developpement
Membre enregistré
10 messages
Posté le 25 juin 2019 - 14:16
Bonjour,

J'ai testé le script 9.2.0.14 est j'ai toujours le problème avec les requêtes Like '%Mot Arabe%'

ça ne fonctionne pas pour moi