Product encoder encodes special characters wrongly when field name contains certain nonstandard characters.
For example for:
case class MyType(`field.1`: String, `field 2`: String)
we will get the following schema
– field$u002E1: string (nullable = true) – field$u00202: string (nullable = true)
As a consequence of this issue a DataFrame with the correct schema can't be converted to a Dataset using .as[MyType]