2010-09-30 21 views
1

J'ai un champ dans mon fichier .csv qui contient le texte: congelé à 20 ° Cdegré d'importation (°) à partir d'Excel ou d'un fichier csv à la base de données MSSQL

mais quand j'importer dans ma base de données, il apparaît que: Frozen à 20 C

quelqu'un sait comment je peux garder le symbole de degré correct?

mon code d'importation ressemble à ce

string fieldValue = csv[i].Trim(); 
+0

Comment le fichier est-il codé? Pouvez-vous l'ouvrir avec un éditeur hexadécimal et nous dire quel code représente le signe °? – Stephane

+0

Et d'ailleurs, quel encodage utilisez-vous dans la base de données, comme si la colonne appropriée est varchar/char/text plutôt que nvarchar/nchar/ntext, cela pourrait aussi avoir un effet, même si je parierais que c'est un question de l'encodage du fichier CSV comme le suggère @Stephane. –

+0

je ne sais pas comment le fichier est codé, je travaille sur Windows XP xp 32 bits et excel 2003. J'ai ouvert le fichier en utilisant HxD Hex Editor et quand je souligne le symbole degré, l'hex semble être B0? aussi la colonne im sauver est ntext. –

Répondre

1

J'ai juste besoin de préciser Encoding.Default lors de la création de mon lecteur de flux

CsvReader csv = new CsvReader(new StreamReader(file.InputStream, Encoding.Default), true) 

Merci pour toute l'aide Stéphane vous me arrivé là-bas à la fin .