2010-12-02 21 views
0

Dans .NET 3.5, j'ai un Winform avec un combobox dedans. La datya provient d'un DB d'unité centrale DB2. Le problème est que nous avons un personnage qui n'est pas la véritable apostrophe. Collé à partir de Word, je suppose. Mais dans notre liste déroulante, elle n'est pas affichée correctement. Il montre un point d'interrogation "?" au lieu.Problème de Winforms avec la page de codes "?" Au lieu de apostrophe '

Une idée sur comment pourrais-je l'obtenir pour afficher le personnage tel qu'il est?

Répondre

2

D'abord, vous devriez vérifier si le caractère est intact dans la base de données, ou si le problème est que la page de code ne supporte pas le caractère.

Si la page de codes utilisée dans la base de données ne prend pas en charge le caractère, elle a été remplacée par un point d'interrogation et les données sont perdues. Le mieux que vous puissiez faire dans ce cas est d'essayer de déterminer quels points d'interrogation sont le résultat de la perte de données, et qui sont censés être des points d'interrogation, et essayer de recréer les données.

Si le caractère est intact dans la base de données, vous devez simplement vous assurer que la police utilisée pour afficher le texte prend en charge unicode.

Remarque: Le caractère utilisé est probablement une apostrophe typographique comme le caractère unicode U+2019.

+0

Merci beaucoup! En fait, c'est ce caractère. Et c'est OK dans la DB et correctement affiché par l'intermédiaire d'une autre application (Cool: Gen je pense). Le problème est que nous avons des exigences qui spécifient que nous devons utiliser la police "Microsoft Sans Seriff". –

+0

@ ultraman69: Ok, dans ce cas je suppose que vous pouvez juste faire un remplacement de chaîne avant de mettre le texte dans le contrôle. – Guffa