C #, добавление символов в строку, включая символы - PullRequest
0 голосов
/ 24 октября 2019

Я конвертирую CSV-файлы в XML-файлы с помощью C #. Я сохраняю файл csv в списке строк, но он не принимает символы символов, такие как ä, á, ê.

public Lesson CsvToLesson(List<string> csv) 
        {
            string lesName = csv[0][csv[0].Length - 3].ToString();
            List<Word> words = new List<Word>();
        for(int i = 3; i < csv.Count; i++)
        {
            string lang1 = "";
            string lang2 = "";
            bool firstWord = true;
            foreach (char c in csv[i])
            {
                if (firstWord)
                {
                    if(c != ';')
                    {
                        lang1 += c;
                    } else
                    {
                        firstWord = false;
                    }
                } else {
                    if (c != ';')
                    {
                        lang2 += c;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            words.Add(new Word(lang1, lang2, 1, i));
        }
        return new Lesson(lesName, words);
    }

, чтобы вернуть их как объект с именем Lesson.

 <Word kasten="1" id="24">
    <lang1>eine Sekret�rin</lang1>
    <lang2>une secr�taire</lang2>
  </Word>

Метод чтения:

public void saveCsv(string path)
    {
        string line;
        List<string> csv = new List<string>();

        StreamReader file = new StreamReader(path);

        while((line = file.ReadLine()) != null)
        {
            csv.Add(line);
        }

        file.Close();
        AddLesson(controller.CsvToLesson(csv));
    }

Как это исправить?

1 Ответ

0 голосов
/ 25 октября 2019

Благодаря Cid.

Проблема заключалась в том, что CSV-файл не был сохранен как CSV-файл utf-8. Есть несколько вариантов в Excel. Посмотрите на этот пост, если у вас есть такая же проблема: Как проверить кодировку CSV-файла

...