C# 用于从文本文件中读取意大利语字符的正确编码
我在尝试使用C#从文件中读取意大利语文本时遇到了一些问题 我试过了C# 用于从文本文件中读取意大利语字符的正确编码,c#,.net,multilingual,C#,.net,Multilingual,我在尝试使用C#从文件中读取意大利语文本时遇到了一些问题 我试过了 File.ReadAllText(filepath, Encoding.GetEncoding(1144); //IBM EBCDIC (Italy-Euro) 但到目前为止运气不好 最后,当有匹配时,我必须将翻译的文本(用其他语言)写回同一个文件 解决这个问题的正确编码是什么?或者除了ReadAllText()之外,我还可以使用其他方法吗?在读取文件之前,您必须知道编码。将尝试检测根本不可靠的编码。如果可以,可
File.ReadAllText(filepath, Encoding.GetEncoding(1144); //IBM EBCDIC (Italy-Euro)
但到目前为止运气不好
最后,当有匹配时,我必须将翻译的文本(用其他语言)写回同一个文件
解决这个问题的正确编码是什么?或者除了
ReadAllText()
之外,我还可以使用其他方法吗?在读取文件之前,您必须知道编码。将尝试检测根本不可靠的编码。如果可以,可以读写UTF-8,因为在.NET中采用默认值的所有内容都将使用UTF-8,并且可以避免使用不同语言的系统之间的转换问题
在西方系统中,下一个最流行的编码是Windows-1252,因此通常,如果文件未编码为UTF-8,则编码为Windows-1252。您也可以使用
编码。如果您知道文件是在本地创建的,则可以使用默认的来读取文件,但请不要使用它来写入文件。您是否尝试过使用编码。UTF8
?如果它已保存为ANSI编码。默认的尝试了UTF8和UTF-16。不起作用。编码。默认值起作用了。。!谢谢。仅供参考,它与机器设置绑定,因此不一定是便携式的
File.ReadAllText(filepath, Encoding.GetEncoding(1144); //IBM EBCDIC (Italy-Euro)