2010-06-01 5 views
0

Salut im récupération des données de registre et tout en sortie dans un fichier je suis tombé sur ce. Je ne suis pas sûr à 100% de ce que c'est, je suppose que c'est une valeur de registre que j'ai capturé. Y a-t-il un moyen simple que je peux éliminer ce problème, préférable sans supprimer les données?Impossible de traduire le caractère Unicode ' uDA22'

Répondre

1

\ uDA22 fait partie d'un surrogate pair et ne devrait pas apparaître seul. Si c'est le cas, vos données sont corrompues. Les paires de substitution ne sont utilisées que pour des caractères plutôt exotiques en dehors du plan multilingue de base. Il semble un peu étrange de les trouver dans le registre, sauf si vous avez affaire à des applications en langue chinoise.

Quel encodage utilisez-vous pour écrire le fichier? L'erreur se produit soit parce que votre entrée contient des données UTF-16 corrompues (bien que je soupçonne que le message d'erreur serait alors différent) ou parce que l'encodage que vous utilisez ne peut pas représenter ces caractères, ce qui serait vrai pour l'encodage par défaut Windows langue. La solution la plus simple serait d'utiliser UTF-8 comme encodage.

Questions connexes