Microsoft图形日历主题不适用于中文

时间:2020-09-01 23:54:32

标签: c# encoding calendar microsoft-graph-api

我正在使用Microsoft的graph API来获取日历事件。

对于中文,事件的主题字段文本是胡说八道。

例如,“世界您好”变为“ 世界您好”

Microsoft的Graph API返回正确的数据。唯一的问题是我不知道每个事件的主题字段的编码。

1 个答案:

答案 0 :(得分:0)

基于Mark Tolonen的回答,看来Microsoft Graph正在使用“ code page 1252”(美国Windows的默认设置)对日历事件进行编码。

使用他的答案,这给了我正确的事件主题字段。

public static string DecodeFromUtf8(this string utf8String)
{
    byte[] bytes = Encoding.GetEncoding(1252).GetBytes(utf8String);
    byte[] unicodeBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, bytes);
    return Encoding.Unicode.GetString(unicodeBytes);
}