albanian-xrm / albanian-xrm/PowerPlatform-Entity-Serializer
Non-ASCII characters are garbled
- 主要言語
- C#
- スター
- 3
- フォーク
- 3
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Dataverse has a bug: it uses Encoding.Default to serialize RemoteExecutionContext. Tested within US and Germany instance it defaults to Windows-1252 encoding.
The characters are all messed up.
For example Cyrillic
- `АаБбВвГгДдЕеËëЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяРРР`
comes in as
- `ÐаБбВвГгДдЕеËëЖжЗзИиЙйКкЛлМмÐнОоПпРрСÑТтУуФфХхЦцЧчШшЩщЪъЫыЬьÐÑЮюЯÑÐ Ð Ð `
To fix it, one must decode from 1252 and re-encode it in UTF-8:
```cs
var encoding = Encoding.GetEncoding(1252);
var inputFixedEncoding = Encoding.UTF8.GetString(encoding.GetBytes(input));
var remoteExecutionContext = EntitySerializer.Deserialize(inputFixedEncoding);
```
For on-prem users, Encoding.Default may be configured differently but is also 1252 by default. For online - well, I don't know how other envs handle it. So it should be a configurable option.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。