locked
Les caractères accentués de MyForm.Designer.vb ne sont plus chargés correctement !? RRS feed

  • Question

  • J'ai plusieurs projets avec de nombreux windows forms, conçus avec VS 2005 et VB.net. Il y a des caractères accentués un peu partout et jusqu'à aujourd'hui tout a parfaitement fonctionné.

     

    Nous avons eu aujourd'hui une attaque de virus. Tout a été corrigé, nettoyé, toutes les windows updates appliquées.... mais quand je recharge mes projets dans VS2005, les caractères accentués des formulaires (les libellés des contrôles) n'apparaissent pas correctement (remplacés par les double caractères bizarres comme on le constate souvent dans les problèmes d'encodage).

     

    Le problème est que le code n'a pas changé ! Tout est en lecture seule et stocké dans SourceSafe. Je peux obtenir la dernière version mais les résultats sont les mêmes :

    - Les caractères accentués des fichiers "MyForm.designer.vb" ne sont pas chargés correctement (c'est-à-dire que lorsque l'on charge le formulaire dans l'outil de conception visual, les caractères accentués des libellés des contrôles ne sont pas affichés correctement).

    - Lorsque l'on ouvre ces fichiers avec notepad ou le browser de sourcesafe, les caractères accentués apparaissent correctement, ce qui confirme que les fichiers sources n'ont pas été altérés !

    - Par ailleurs, lorsque l'on consulte les fichiers de code dans VS2005 (pas les fichiers designer), par exemple MyForm.vb, les caractères accentués apparaissent correctement dans l'éditeur de code source de visual studio !

    - Lorsque je génère le projet et l'exécute sur un autre PC, l'application obtenue présente les mêmes problèmes (mauvais affichage des caractères).

     

    Le problème concerne donc uniquement les contenus des fichiers "MyForm.designer.vb"....

     

    Une idée ? Ca me rend dingue...

     

    Merci d'avance,

     

    Philippe Lelong

    plelong@mailcom1.com

    mardi 20 mai 2008 15:20

Toutes les réponses

  • Quelques infos complémentaires...

     

    J'ai vérifié avec un éditeur binaire ce qui était véritablement stocké dans chaque fichier pour le même caractère accentué, par exemple le "è".

    J'ai aussi vérifié dans SourceSafe le codage effectivement détecté par SourceSafe (clic droit / propriétés sur le fichier dans l'explorateur SourceSafe).

     

    Voici les résultats :

     

    - MyForm.vb (code, pas de problème) : è = E8 (1 byte), détecté comme "Binaire" par SourceSafe.

    - MyForm.designer.vb (formulaire, problème) : è = C3 A8 (2 bytes), détecté comme "ANSI/MBCS" par SourceSafe.

     

    Ce qui est étrange c'est que les deux sont parfaitement reconnus et affichés par les fonctions de gestion de contenus de SourceSafe (historique, différences, etc.)...

     

    ??

     

    Philippe Lelong.

    mardi 20 mai 2008 17:13
  • Bonsoir,

     

    Je ne suis pas spécialiste Visual SourceSafe, mais un confrère à déjà eu ce genre de problème et cela venait de son gestionnaire de source (Vault).

    Il fallait au niveau de celui-ci corriger un paramètrage d'encodage au niveau des fichiers stockées sur le gestionnaire.

     

    Existe-il cette fonction équivalente sous Source Safe ?

     

    Cordialement

    mardi 20 mai 2008 17:22
  • Bonsoir,

     

    Ne pouvez-vous pas mettre le fichier MyForm.deinger.vb au format Unicode dans les réglage fichier au niveau de VSS ?

     

    Cordialement

    mardi 20 mai 2008 17:29
  • J'ai 3 choix Unicode dans VSS :

    - Unicode (UTF8)

    - Unicode

    - Unicode (big endian)

     

    Je prends lequel ?

     

    Et après, je valide puis j'obtiens la dernière version dans VSS et j'actualise dans VS, c'est ça ?

     

    Merci pour votre aide !

     

    Philippe

    mardi 20 mai 2008 17:40
  • Je viens d'essayer avec le choix "Unicode", ça ne fait absolument rien... Le fichier n'est en rien modifié par cette action, et Visual Studio le charge toujours avec la même erreur...

    mardi 20 mai 2008 17:49
  • Quand on ouvre les fichiers .designer.vb dans notepad, et que l'on fait "enregistrer sous...", on constate que leur codage est UTF-8. Pour les .vb, c'est ANSI.... J'ai donc contourné le problème en réenregistrant sous ANSI tous les fichiers .designer.vb grâce à notepad, et dans Visual tout est rentré dans l'ordre, et l'appli est propre.

     

    Ca corrige donc le problème, mais ça n'explique pas ce qui est arrivé ni pourquoi mon visual créait les fichiers .designer.vb en UTF8... mystère ! D'autant plus que si je crée un nouveau formulaire, il s'enregistre bien maintenant en ANSI.. ??!!

     

    Philippe.

    mercredi 21 mai 2008 15:42
  • Bonjour,

     

    Je miserais sur un problème au niveau de SourceSafe...

    En tout cas sachez qu'il est possible de changer l'encodage de votre fichier depuis Visual Studio via "Fichier" / "Options d'enregistrements avancées..."

     

    Cordialement

     

    jeudi 22 mai 2008 18:43
  • Je poursuis de mon côté l'investigation avec le support MS à qui j'ai soumis le pb. Il semblerait plutôt que ce soit les templates de Visual Studio qui sont incorrects (Dialog.Designer.vb stocké en UTF-8 !), bug apparemment présent dans la pre-release de VS mais supposé être corrigé dans la version release...

     

    Je poursuis et quand nous aurons conclu je posterai ici les résultats pour que ça profite à tous ceux qui peuvent être concernés !

     

    Philippe.

    vendredi 23 mai 2008 07:36