PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile (versões anteriores) → 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
Iniciado por YOUSRI FALHI, jun., 13 2019 6:14 PM - 4 respostas
Membro registado
10 mensagems
Publicado em junho, 13 2019 - 6:14 PM
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
Membro registado
1.603 mensagems
Popularité : +64 (70 votes)
Publicado em junho, 14 2019 - 10:23 AM
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
Membro registado
10 mensagems
Publicado em junho, 16 2019 - 5:07 PM
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 :(
Membro registado
3.330 mensagems
Popularité : +93 (137 votes)
Publicado em junho, 24 2019 - 3:15 PM
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
Membro registado
10 mensagems
Publicado em junho, 25 2019 - 2:16 PM
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