テキストファイルにö、ä、üなどの文字が含まれていて、ファイルがANSIでエンコードされています。私はそれを読んで、すべてのデータをデータテーブルに入れたいと思います。私のコードは次のとおりです。C#でエンコードされたテキストファイルを読み取る
private DataTable GetTextToTable(string path)
{
try
{
DataTable dataTable = new DataTable();
int rowNo = 0;
using (StreamReader sr = new StreamReader(path,Encoding.Default,true))
{
DataRow dr = null;
String line;
while ((line = sr.ReadLine()) != null)
{
dr=dataTable.NewRow();
if (rowNo == 0)
{
string[] Columns = line.Split(new string[] { "\t" }, StringSplitOptions.None);
for (int i = 0; i != Columns.Length; i++)
{
DataColumn dc = new DataColumn();
dc.ColumnName = Convert.ToString(Columns[i]);
dataTable.Columns.Add(dc);
}
rowNo = rowNo + 1;
}
else
{
string[] ColumnsValue = line.Split(new string[] { "\t" }, StringSplitOptions.None);
for (int i = 0; i != ColumnsValue.Length; i++)
{
dr[i] = ColumnsValue[i];
}
dataTable.Rows.Add(dr);
}
}
}
return dataTable;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
そして出力、私はこのコードから取得しています:また、öと同じ方法で、残りのAの文字の任意の組み合わせを取得し、U字型文字のために½¿。 私を助けてください! ありがとうございました!
"ANSI"は特定のエンコーディングではありません。異なるエンコーディングの多くは、「ANSI」または「悪い」「拡張ASCII」と呼ばれることがよくあります。ファイルの* exact *エンコーディングを見つけてそれを使用するべきです。 –
ファイルが_actually_ UTF8で、マルチバイトシーケンスを使用しているようです。 – SLaks
http://www.joelonsoftware.com/articles/Unicode.html、覗き見へのリンク: – bas