我试图编辑丹麦语的文件,带有 ÆØÅ 字母。
但是我做错了什么,我可以用正确的字母添加一行,但它就像我没有正确阅读切除的行一样,因此我得到"2。P skedag"而不是"2.Påskedag">
我的代码是
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string filePath = @"C:Userstib5kaDesktopFællesVagtplan-filersheet001.htm";
string[] lines = File.ReadAllLines(filePath, Encoding.UTF8);
for (int i = 0; i < lines.Length; i++)
{
// lines[i] = lines[i].Replace("INFOBAR :", "<marquee>Det er froååkosttid.</marquee>");
}
File.WriteAllLines(filePath, lines, Encoding.UTF8);
}
}
经过数小时的搜索,我最终找到了解决方案,就像在这里发布我的问题一样。
是我在读取行中的编码是错误的。
它应该System.Text.Encoding.Default
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string filePath = @"C:Userstib5kaDesktopFællesVagtplan-filersheet001.htm";
string[] lines = File.ReadAllLines(filePath, System.Text.Encoding.Default);
for (int i = 0; i < lines.Length; i++)
{
lines[i] = lines[i].Replace("INFOBAR :", "<marquee>Det er froååkosttid.</marquee>");
}
File.WriteAllLines(filePath, lines, Encoding.UTF8);
}
}