rexxer
Messages postés1Date d'inscriptionlundi 2 août 2010StatutMembreDernière intervention 2 août 2010
-
2 août 2010 à 14:21
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
2 août 2010 à 15:30
Bonjour, j'ai un souci avec du code vb6 développé en français que je dois faire tourner sur des PC chinois. J'ai réinstallé l'environnement VB sur un Win XP chinois afin de débugger, j'ai changé la police d'affichage de l'éditeur en Arial CE. Le 'é' s'y affiche correctement. Seulement quand je fais "exécuter", on dirait que VB ne tient pas compte de ce qui est affiché sur l'éditeur :
1. SQL (MS Jet 4.0) : un des champs est "Prénom", et malgré son affichage correct dans l'éditeur (sql$ = "SELECT rst.Prénom ...), il envoie en réalité dans la SQL : "pr?nom" (ou ? est un caractère chinois). Jet Engine me répond "champs inexistant".
2. De même, j'ai une grille "trueGrid", qui pour chaque colonne, dispose des propriétés caption et Datafield. Si je regarde leur contenu dans mon environnement VB6 Fr sur XP chinois, Prénom est transformé en pr?nom. Ainsi, lorsque je récupère Datafield, VB6 voit "pr?nom" et l'envoie comme ça dans la SQL, puis plante. Meme la propriété Caption est devenue "pr?nom"
Je pense que ce n'est pas un pb Jet Engine mais plutôt de ce qu'interprête VB au chargement puis à l'exécutuion. Alors que si je compile, il ne tombe pas sur les mêmes erreurs.
L'appli est énorme et je ne peux pas renommer les champs des bases (elles sont disséminées dans le monde).
Quelqu'un aurait-il une idée ? Un souci avec Unicode ? Je n'y connais rien !
NHenry
Messages postés15151Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 septembre 2024159 2 août 2010 à 14:49
Bonjour,
De base, dans les noms de variable, fonction, modules, champs, base de données, on évite les champs avec accents, justement à cause de ce problème de page de code.
Une solution serait de passer en UTF-8, mais en VB6, je ne sais pas comment faire, désolé.