Je vois un moyen relativement simple de résoudre ton problème si c'est vraiment du .NET comme tu l'explique ^^
Normalement, tu peux héberger au sein de ton processus l'autre application (en gros, tu devrais créer un genre de lanceur/surcouche), et si tu as les autorisations de réflexion, tu peux bidouiller méchamment le fonctionnement interne de l'application (changer le comportement des composants, ou même les remplacer). En l'occurrence ce qui te pose problème doit avoir lieu au moment de la validation, donc tu peux par exemple détecter ça (en te déclarant receveur d'évènements là où il faut) et agir en conséquences. Pour le "agir en conséquences" par contre, ça dépend vraiment de comment l'application est codée en interne. Ça peut très bien être extrêmement complexe à réaliser, et donc pas du tout une bonne idée.
Quand à l'encodage inverse ANSI--[transfo UTF8->UTF16]-->UTF-16, ça n'a effectivement quasi aucune chance de fonctionner. Il y a des bits de redondance, aussi bien en UTF-8 qu'en UTF-16 (bon, UTF-16 est largement différent car ça dépend des "surrogate pairs", mais bref
), qui te permettent de savoir qu'un caractère est le début d'une séquence, et que le suivant fait bien partie de la séquence... En gros, seuls certains caractères "ASCII étendu" peuvent démarrer une séquence UTF-8, et seuls certains ("ASCII étendus" toujours) peuvent la continuer. Un caractère ASCII banal brise ta séquence, et il y a même quelques caractères interdits... bref ^^(PS: désolé pour le cross, j'ai posté après ./22
)
