title: Ignoring Byte Order Mark or binary trash in front of JSON when using KSQLDB
body: <p>I am using <code>io.confluent.connect.json.JsonSchemaConverter</code> as my value converter to generate the payload on a topic with the schema in the Schema Registry.</p>
  <p>This leads to an error message when I try to create a ksqldb stream. The log entry reads:</p>
  <blockquote>
  <p>Invalid UTF-32 character 0x17a2249 (above 0x0010ffff) at char #1, byte #7)</p>
  </blockquote>
  <p>Here are the first few hex values of the message:</p>
  <p><a href="https://i.stack.imgur.com/GxIBH.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GxIBH.png" alt="enter image description here" /></a></p>
  <p>Keep in mind that I have a bunch of messages, the screenshot and the error message are from two different offsets.</p>
  <p>ksqldb seems to think this might be a <a href="https://en.wikipedia.org/wiki/Byte_order_mark" rel="nofollow noreferrer">BOM</a> given that the error message mentions <code>0x0010fff</code>.
  JSON (<a href="https://www.rfc-editor.org/rfc/rfc4627" rel="nofollow noreferrer">RFC4627</a>) does not allow for a BOM and to me this just looks like obvious binary trash.
  I think what the JsonSchemaConverter may be doing is prefacing the data with the schema version that was written into the Schema Registry, in this case 1</p>
  <p>Is there a way to tell ksqldb to attempt to skip portions of a JSON message.</p>
  <ul>
  <li>until the structure starts to appear valid (first occurrence of pattern match <code>[\d[{&quot;]</code>)?</li>
  <li>straight up skip 5 bytes?</li>
  </ul>
  <p>Or am I doing something fundamentally wrong that has nothing to do with what I am seeing on a binary level?</p>
  <p>EDIT:
  It seems worth mentioning that I wanted a schema. I indicate that to ksqldb by using <code>VALUE_FORMAT='JSON_SR'</code> and that seems to work out and I am also using a JsonSchemaConverter so the schema is written.</p>