将中文,阿拉伯文,英文等字符保存在文件中

时间:2014-04-21 12:11:43

标签: c# xml file-io character-encoding

我有一个包含英文,中文和阿拉伯字符的文件。现在,当我在一个字符串中读取该文件的文本时,所有文本都正确显示,但是当我再次将该代码保存到其他文件时,它会删除我所有的英文和阿拉伯字符,只剩下部分是英文字符。

我使用下面的代码来读取文件

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也会显示所有字符。

如果我使用上面的代码,我不知道为什么这不起作用。

1 个答案:

答案 0 :(得分:2)

在您编写文件时指定UTF8编码,该文件可以处理您的中文和阿拉伯字符:

File.WriteAllText(Server.MapPath(myfile2.xml), content, Encoding.UTF8);

来自Wikipedia

  

UTF-8可以编码任何Unicode字符。 ...例如,可以支持中文和阿拉伯语(在同一文本中),无需插入特殊代码或手动设置来切换编码。