Strings are UTF-8 encoded and should be parsed as such, while it was being parsed as a C string before. (cherry picked from commit d4e302a3a499b4a3445b4e1610757fc310d1641d)
@@ -183,7 +183,7 @@ Variant JavaScriptObjectImpl::_js2variant(int p_type, godot_js_wrapper_ex *p_val
case Variant::REAL:
return p_val->r;
case Variant::STRING: {
- String out((const char *)p_val->p);
+ String out = String::utf8((const char *)p_val->p);
free(p_val->p);
return out;
}