2010-09-20 10 views
0

J'ai donc cette banque de noms étrangère dans un fichier texte que je lis et que je jette dans une table de données. Le type de données "chaîne" ne reconnaît pas les lettres étrangères. J'utilise un TextReader/StreamReader pour lire la ligne de fichier texte en ligne (une ligne par nom)Les chaînes ne reconnaissent pas les caractères multilingues

Qu'est-ce que dans le fichier texte -> ce qui apparaît dans la base de données (tracée à la chaîne)

Szilveszter Karpathy -> Szilveszter Krpthy

Szalók Szôlôsy -> Szalk Szlsy

Im en utilisant nvarchar, mais le contresens se passe de la déclaration du nom de la chaîne. Des idées pour pourquoi?

Répondre

3

Vous pouvez regarder la surcharge StreamReader(Stream stream, Encoding encoding) si votre fichier n'est pas UTF8 et spécifiez l'encodage du fichier.

Pour vérifier si le fichier est lu correctement, placez un point d'arrêt dans le code et vérifiez le contenu des variables avant de les stocker dans la base de données. En faisant cela, vous pouvez déterminer si les chaînes ont été décodées à partir du fichier ou si l'erreur de codage se produit lors de l'enregistrement dans la base de données.

+0

Quel codage est le fichier .txt normal dans Windows? UTF-8 ne le coupe pas. – Mike

+0

Je l'ai eu, StreamReader (Stream stream, Encoding.Default) travaillé. Merci! :) – Mike

Questions connexes