C# 部分类中的utf-8错误

C# 部分类中的utf-8错误,c#,utf-8,C#,Utf 8,在我的表单应用程序中,我创建了一个类似表单设计器的部分类,通过对方法进行分类来降低代码的复杂性(我可以使用不同的类,但目前还不可能) 我有一个字符串值,它包含几个utf-8字符 string t=“şıer” 如果我以我创建的部分形式声明此字符串,当我试图弹出一个消息框来显示此字符串时,出现了一些问题 结果:þýer 但是当我在form1.cs中声明它时,它是可以的 0xfe在拉丁语-5中为ş,在拉丁语-1、拉丁语-6、拉丁语-9和CP-1252中为þ 0xfd在拉丁语-5中为ı,在拉丁语-1、

在我的表单应用程序中,我创建了一个类似表单设计器的部分类,通过对方法进行分类来降低代码的复杂性(我可以使用不同的类,但目前还不可能)

我有一个
字符串
值,它包含几个utf-8字符

string t=“şıer”

如果我以我创建的部分形式声明此
字符串
,当我试图弹出一个消息框来显示此
字符串
时,出现了一些问题

结果:
þýer

但是当我在form1.cs中声明它时,它是可以的

0xfe在拉丁语-5中为ş,在拉丁语-1、拉丁语-6、拉丁语-9和CP-1252中为þ

0xfd在拉丁语-5中为ı,在拉丁语-1、拉丁语-6、拉丁语-9和CP-1252中为ý

UTF-8中的ş将是0xc5 0x9f,而ı将是0xc4 0xb1


因此,链中的某些部分要么使用了错误的编码,要么声明了错误的编码。确保您在整个过程中都在使用UTF-8,因为有证据表明您在源代码中使用了Latin-5(ISO-8859-9),并将其解释为Latin-1(或上述其他编码之一)。

相关:无耻的插件:因为我每天都在使用编码,所以我创建了,这使得检查像这样的不匹配非常简单。