c# String.Format()返回坏字符

本文关键字:返回 字符 String Format | 更新日期: 2023-09-27 18:04:32

我发现string.Format的行为非常奇怪。我形成这样的消息:

protected override string GetMessageText(ManualEventFact reason)
        {
            var messageText = string.Format("Диспетчер закрыл событие {0}('"{1}'")",reason.EventTemplate.DisplayName, reason.Text);
            return messageText;
        }

开头的字母是俄文。但是,在调用方法,我得到这个字符串:Äèñïåò÷åð çàêðûë ñîáûòèå Тревога("Тревога на объекте с точки зрения диспетчера")。这看起来像绳子。Format为硬编码的单词返回非unicode字符。我该如何处理这个问题?注:我在应用的其他部分也遇到过这个问题。

c# String.Format()返回坏字符

问题可能在源文件的编码中…如果你使用的是Visual Studio,打开cs文件,然后转到File -> Save (your cs) As,然后在Save按钮附近,单击小箭头,Save With Encoding,对于Encoding,选择Unicode (UTF-8 with signature) - Codepage 65001