Я пытался напечатать простую карточку с японским иероглифом, но она продолжает отображать поля и неизвестные символы.
Так я создаю свою адаптивную карточку, затем получаю параметры и данные в формате json, просто чтобы сделать его аккуратным.
string[] paths = { ".", "Cards", "pickLanguageCard.json" };
string fullPath = Path.Combine(paths);
var adaptiveCard = File.ReadAllText(fullPath);
return new Attachment()
{
ContentType = "application/vnd.microsoft.card.adaptive",
Content = JsonConvert.DeserializeObject(adaptiveCard),
};
Изображение напечатанного вывода:
Как видите, возвращенные данные JSON также неверны.Так что это связало его с основным источником бота.Я попытался в файле Json, содержащем японский символ, также изменить кодировку на web.config
, но это не решило мою проблему.Вернувшись в Bot Framework v3, нет проблем с печатью / отображением японского символа.Но когда я попробовал v4, японские символы стали такими.
Любое исправление, решение, обходной путь будут оценены.Спасибо
Редактировать: пробовал использовать параметр кодирования в ReadAllText
, (Encoding.UTF8, Encoding.UTF32, Encoding.Unicode).В UTF8 другой японский персонаж печатается, но уничтожает формат Json, который не может разобрать, также это происходит в utf32 и unicode.По умолчанию символ такой же.
Редактировать: Итак, после неустанных исследований я обнаружил, что JSON кодирует данные только в стандартный UTF-8, чтобы сделать его легче, и попытался использовать преобразование символов в UTF-16, и это печатается успешно, но мне кажется, что это неправильно.Есть ли другой способ правильно напечатать японские символы?