C# 在文件中保存中文、阿拉伯文、英文等字符
我有一个包含英文、中文和阿拉伯文字符的文件。现在,当我以字符串形式读取此文件的文本时,所有文本都会正确显示,但当我再次将该代码保存到其他文件时,它会删除我所有的英语和阿拉伯语字符,只剩下英语字符 我使用下面的代码来读取文件C# 在文件中保存中文、阿拉伯文、英文等字符,c#,xml,file-io,character-encoding,C#,Xml,File Io,Character Encoding,我有一个包含英文、中文和阿拉伯文字符的文件。现在,当我以字符串形式读取此文件的文本时,所有文本都会正确显示,但当我再次将该代码保存到其他文件时,它会删除我所有的英语和阿拉伯语字符,只剩下英语字符 我使用下面的代码来读取文件 string content = File.ReadAllText(Server.MapPath("myfile1.xml")); 下面是我用来将其写入另一个文件的代码 File.WriteAllText(Server.MapPath(myfile2.xml), conte
string content = File.ReadAllText(Server.MapPath("myfile1.xml"));
下面是我用来将其写入另一个文件的代码
File.WriteAllText(Server.MapPath(myfile2.xml), content);
当我在visual studio中打开myfile2.xml时,它不会显示中文和阿拉伯文字符,但在myfile1.xml中会显示。即使我将myfile1.xml的内容复制到myfile2.xml,myfile2.xml也会显示所有字符
如果使用上述代码,我不知道为什么不起作用。编写文件时指定
UTF8
编码,该编码可以处理中文和阿拉伯文字符:
File.WriteAllText(Server.MapPath(myfile2.xml), content, Encoding.UTF8);
发件人:
UTF-8可以对任何Unicode字符进行编码。。。例如,可以支持中文和阿拉伯语(在同一文本中),而无需插入特殊代码或手动设置来切换编码
XML使用什么编码?如果不是UTF-8,这就是问题所在。因此,您可能需要使用的重载允许您提供特定的编码。我不能确定这种编码是什么,但这将解决问题。