XML编码适用于法语和德语字符

4

我正在尝试将一些文本复制到xml文件中。

问题在于所有特殊字符都被转换为符号。

我搜索了并测试了大量代码,但迄今为止没有帮助。

我想复制一个包含以下行的文本文件

<data path="Procédures de support/Achat" name="Gestion dös achats et dés magasins" type="Main Process"  />

然而,如果我使用编码到文本文件,则可以正常工作,但是如果我想创建XML,则无法正常工作。
以下是我的代码:
string tempFile = Path.GetTempFileName();

            using (var sr = new StreamReader(filePath,Encoding.Default)) // I also tested Encoding.UTF8
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Encoding = Encoding.Default;
                using (XmlWriter writer = XmlWriter.Create(fileOutput,settings))
                {
                    writer.WriteStartDocument(false);
                    writer.WriteStartElement(startRoot);

                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        writer.WriteRaw(line);
                    }

                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
            }

有任何想法吗?

1
你确定你读取的文件包含以UTF-8(Encoding.Default)编码的字符吗? - Mike Atlas
1
Encoding.Default 不是 UTF-8,尽管 XML 的默认编码是 Unicode。 - Joey
1个回答

3
不知何故,当我将编码更改为时,它就起作用了。
encoding="Windows-1252"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接