Fix Json serializer for CSharp data to use UTF-8 text encoding

#1994
This commit is contained in:
Wojtek Figat
2024-02-21 22:39:32 +01:00
parent fa606ce5f6
commit f20805e567
2 changed files with 13 additions and 2 deletions

View File

@@ -15,6 +15,17 @@ using Newtonsoft.Json.Serialization;
namespace FlaxEngine.Json
{
sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding(System.Text.StringBuilder sb, IFormatProvider formatProvider, Encoding encoding)
: base(sb, formatProvider)
{
Encoding = encoding;
}
}
partial class JsonSerializer
{
internal class SerializerCache
@@ -37,7 +48,7 @@ namespace FlaxEngine.Json
{
IsManagedOnly = isManagedOnly;
StringBuilder = new StringBuilder(256);
StringWriter = new StringWriter(StringBuilder, CultureInfo.InvariantCulture);
StringWriter = new StringWriterWithEncoding(StringBuilder, CultureInfo.InvariantCulture, Encoding.UTF8);
MemoryStream = new UnmanagedMemoryStream((byte*)0, 0);
#if FLAX_EDITOR