Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à toutes et à tous, mais surtout à toutes ;)
Je me permets une rapide question car je n'arrive pas à trouver l'origine du problème...
Sur les postes récemment distribués dans mon entreprise sous win7, j'ai pu observer que les accents ne sont pas gérés comme il se doit dans les applis PB !
En effet, tous les accents (é, à, è, ô, ...) sont remplacés par ¿ dans les enregistrements en BDD.
J'ai pensé à un problème de langue par défaut du PC... Non.
Ensuite, un charset à préciser sur les champs concernés de mes écrans PB... Non.
Puis, un problème lié au client Oracle sur ces postes... Non.
Enfin, est-ce la faute de Jean Roucass... Non.
Bref, je ne sais pas trop vers quoi me tourner pour identifier le problème.
Si vous avez une idée, des conseils, des astuces... je suis preneur
Merci.
Dernière modification par jordel (13-06-2013 12:11:57)
Hors ligne
jordel a écrit:
J'ai pensé à un problème de langue par défaut du PC... Non.
Ensuite, un charset à préciser sur les champs concernés de mes écrans PB... Non.
Puis, un problème lié au client Oracle sur ces postes... Non.
Comment peux-tu affirmer que ces points sont OK ?
Quelques pistes à creuser :
- quelle version de PB
- quel est l'encodage utilisé dans la base
- est-il compatible avec les accents que tu souhaites voir apparaître (iso-8859-1 (=latin1), iso-8859-15 (=latin15 = latin1 avec oe, OE et euro à la place de 3 autres caractères), windows 1252 (encodage natif windows européen de l'ouest), cp 850 (=encodage européen de l'ouest DOS), cp 437 (encodage natif US DOS)?
- est-ce que les enregistrements sont correctement encodés dans la base, si tu les relis avec autre chose que PB ?
- est-ce qu'un enregistrement correct dans la base (envoyé depuis un autre outil) s'affiche correctement dans PB en relisant?
- si tu passes par de l'ODBC, il est aussi possible de spécifier un codepage dans les propriétés du DSN...
Dernière modification par seki (04-06-2013 11:38:03)
Hors ligne
Je rajouterai :
- qu'elle est la chaîne de connexion utilisée pour la connexion à la base Oracle
Parfois certains paramètres peuvent avoir de l'influence...
Dernière modification par Ben53 (04-06-2013 14:43:58)
Hors ligne
Bonjour à vous et merci pour les réponses !
Pour répondre à Seki, les points notés comme OK... bah je les ai testé tout simplement.
- Niveau langage du PC, j'ai fait un test avec un win7 en Fr, un win 7 en En, j'ai contacté une des personnes impactées pour effectuer un test également.
- Niveau charset sur les écrans PB... j'ai vérifié la DW concernée et les champs concernés.
- Niveau client Oracle... il s'agit du client léger Oracle, le même que sur ma machine de test en win7. Donc ça me semble OK également.
Sinon... pour tes pistes :
- Version de PB : 11.1 build 8123
- Encodage base : Unicode (je crois... pas certain...)
- Compatibilité... faut que je regarde
- Niveau consultation des données... Si cela ne provient pas des postes identifiés, tout est OK. Sinon, j'ai un point d'interrogation à l'envers qui remplace les accents. Et on retrouve ce caractère aussi bien en consultation sous toad, sql developper, sql plus ou sur une page web php (demandée à un dév web).
- Oui... des enregistrements se font correctement sur tout le reste du parc... cela concerne pour le moment une dizaine de personnes.
- Non pas d'odbc
Pour répondre à Ben53, voici la chaine de connexion :
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogPass = "monMDP"
SQLCA.ServerName = "maBase"
SQLCA.LogId = "monUser"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
Hors ligne
jordel a écrit:
- Niveau consultation des données... Si cela ne provient pas des postes identifiés, tout est OK. Sinon, j'ai un point d'interrogation à l'envers qui remplace les accents. Et on retrouve ce caractère aussi bien en consultation sous toad, sql developper, sql plus ou sur une page web php (demandée à un dév web).
- Oui... des enregistrements se font correctement sur tout le reste du parc... cela concerne pour le moment une dizaine de personnes.
Juste pour que ça soit clair :
- sur le gros du parc tout le monde lit et écrit correctement des accents dans la base
- par contre c'est quand un des postes "suspects" écrit un accent est-ce que tous les autres relisent un point d'interrogation, que ce soit avec toad ou autre ?
- et ces postes là ne sont pas en mesure d'afficher les accents qui sont dans la base
Encore un test : sur un des postes "suspects", si l'utilisateur insère un accent dans un champ, et qu'il sauve les données. Est-ce qu'il voit lui-même un accent en relisant ces données ? Est-ce qu'un toad (ou autre) sur ces postes affiche les accents ?
Les problèmes d'encodage, c'est comme un problème électrique dans une voiture : parfois c'est subtil à trouver. Ici on s'est beaucoup amusés avec un client chinois...
Hors ligne
seki a écrit:
Juste pour que ça soit clair :
- sur le gros du parc tout le monde lit et écrit correctement des accents dans la base
Oui je confirme.
seki a écrit:
- par contre c'est quand un des postes "suspects" écrit un accent est-ce que tous les autres relisent un point d'interrogation, que ce soit avec toad ou autre ?
Oui.
seki a écrit:
- et ces postes là ne sont pas en mesure d'afficher les accents qui sont dans la base
Ils peuvent afficher les accents déjà en base sans souci.
seki a écrit:
Les problèmes d'encodage, c'est comme un problème électrique dans une voiture : parfois c'est subtil à trouver. Ici on s'est beaucoup amusés avec un client chinois...
Wow... j'ose même pas imaginer les prises de tête ^^
Hors ligne
jordel a écrit:
seki a écrit:
Les problèmes d'encodage, c'est comme un problème électrique dans une voiture : parfois c'est subtil à trouver. Ici on s'est beaucoup amusés avec un client chinois...
Wow... j'ose même pas imaginer les prises de tête ^^
Bah, ça m'aura permis de découvrir un peu le Chinois et d'apprendre à retrouver "Anglais" (Yingwen), "Français" (Fawen) et "Chinois" (Zhongwen) dans une liste sur un XP chinois installé exprès pour pouvoir faire des tests et traquer un problème lié au codepage 936
On apprend tous les jours
Hors ligne
seki a écrit:
Encore un test : sur un des postes "suspects", si l'utilisateur insère un accent dans un champ, et qu'il sauve les données. Est-ce qu'il voit lui-même un accent en relisant ces données ? Est-ce qu'un toad (ou autre) sur ces postes affiche les accents ?
Cela enregistre un ¿ dans la base et idem à la consultation que ce soit sur le poste en win7 ou un autre en XP ou un autre programme (toad, sql developper, ...) !
Donc, il y a bien un souci d'encodage mais qui provient de Win 7 !
Hors ligne
J'ai du nouveau... En fait, cela provient du "instant client" Oracle que l'on déploie maintenant sur les machines win7 au lieu du client Oracle standard !!!
Ce lien permet en théorie de configurer tout cela correctement : http://blogs.devart.com/dbforge/how-to- … lient.html
Avec le bon NLS_LANG = FRENCH_FRANCE.WE8MSWIN1252
Je vais tester tout cela ASAP
Hors ligne
c'était pas la peine de chercher si loin : http://pbadonf.fr/forum/viewtopic.php?id=1841
Hors ligne
"Bardel" c'est comme faire Paris-Marseille en passant par Tokyo !
Merci Erasorz ^^
J'ai du mal orienter ma recherche sur le forum... je n'avais rien trouvé de parlant au départ !
Thanks !
Dernière modification par jordel (13-06-2013 12:06:23)
Hors ligne
Donc... pour en revenir au problème principal... c'est réglé avec la création de la variable d'environnement NLS_LANG = FRENCH_FRANCE.WE8MSWIN1252
Hors ligne