windows phone 8 - Encoding string issue reading a CSV file in C# -
i developing windows phone 8 application in 1 have download csv file web-service , convert data c# business object (i not use library part).
download file , convert data c# business object not issue using restsharp.portable, streamreader class , memorystream class.
the issue face bad encoding of string fields.
with library restsharp.portable, retrieve csv file content byte array , convert data string following code (where response byte array) :
using (var streamreader = new streamreader(new memorystream(response))) { while (streamreader.peek() >= 0) { var csvline = streamreader.readline(); } } but instead of "jérome", csvline variable contains j�rome. tried several things obtain jérome without success :
using (var streamreader = new streamreader(new memorystream(response), true)) or
using (var streamreader = new streamreader(new memorystream(response), encoding.utf8)) when open csv file simple notepad software notepad++ obtain jérome when file encoding in ansi. if try following code in c# :
using (var streamreader = new streamreader(new memorystream(response), encoding.getencoding("ansi"))) i have following exception :
'ansi' not supported encoding name.
can me decode correctly csv file ?
thank in advance or advices !
you need pick 1 of these.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx
if don't know, can try guess it. guessing isn't perfect solution, per answer here.
you can't detect codepage, need told it. can analyse bytes , guess it, can give bizarre (sometimes amusing) results.
Comments
Post a Comment