2013-09-05 8 views
7

मैं एक सीएसवी फ़ाइल में पढ़ रहा हूं और सब ठीक से काम कर रहा है। सभी फ़ील्ड सही जगहों पर जा रहे हैं लेकिन यह ® को to में परिवर्तित कर रहा है।फाइलहेल्पर - ® चरित्र में कैसे पढ़ा जाए?

var engine = new FileHelperEngine(typeof(T)); 
return engine.ReadStream(new StreamReader(stream)) as T[]; 

ऐसा होने से रोकने के तरीके पर कोई विचार?

संपादित करें:

खर्चा करने की मदद मैं इस काम मिल गया के साथ

:

var engine = new FileHelperEngine(typeof(T), Encoding.UTF8); 
return engine.ReadStream(new StreamReader(stream, Encoding.UTF8)) as T[]; 

मैं इस काम करने के लिए दोनों ही स्थानों पर एन्कोडिंग सेट करने के लिए किया था। अन्यथा मैंने अजीब परिणाम देखा।

+2

आप किस एन्कोडिंग का उपयोग कर रहे हैं? –

+3

पढ़ें "** [निरंतर न्यूनतम प्रत्येक सॉफ्टवेयर डेवलपर बिल्कुल, यूनिकोड और कैरेक्टर सेट्स (कोई बहाना नहीं है!) के बारे में जानना चाहिए (http://www.joelonsoftware.com/articles/Unicode.html) **" जोएल द्वारा Spolsky। –

+0

पढ़ने के दौरान यूटीएफ 8 एन्कोडिंग का उपयोग करने का प्रयास करें। – user65439

उत्तर

6

अपने स्ट्रीमरडर पर उचित एन्कोडिंग सेट करें।

http://msdn.microsoft.com/en-us/library/ms143456.aspx

+0

मैं FileHelpers इंजन पर एन्कोडिंग बदल रहा हूं, मैं इसे स्ट्रीम पर बदलने की कोशिश करूंगा। –

+3

यह एक संदिग्ध नामित विधि है जिसे 'रीडस्ट्रीम' कहा जाता है, वास्तव में, स्ट्रीम को नहीं पढ़ता है। – spender

+0

जो मेरे लिए काम किया। बहुत बहुत धन्यवाद!! –

संबंधित मुद्दे