title: Jackson JSON parser invalid utf-8 start byte
body: <p>I'm trying to parse the following JSON and I keep getting a <code>JsonParseException</code>:</p>
  <pre><code>{
     &quot;episodes&quot;:{
        &quot;description&quot;:&quot;Episode 3 – Oprah's Surprise Patrol from 1\/20\/04\nTake a trip down memory lane and hear all your favorite episodes of The Oprah Winfrey Show from the last 25 seasons -- everyday on your radio!&quot;
     }
  }
  </code></pre>
  <p>also fails on this JSON</p>
  <pre><code>{
     &quot;episodes&quot;:{
        &quot;description&quot;:&quot;After 20 years in sports talk…he’s still the top dog!  Catch Christopher “Mad Dog” Russo weekday afternoons on Mad Dog Radio as he tells it like it is…Give the Doggie a call at 888-623-3646.&quot;
     }
  }
  </code></pre>
  <p>Exception:</p>
  <pre><code>org.codehaus.jackson.JsonParseException: Invalid UTF-8 start byte 0x96
   at [Source: C:\Json Test Files\episodes.txt; line: 3, column: 33]
      at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1291)
      at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:385)
      at org.codehaus.jackson.impl.Utf8StreamParser._reportInvalidInitial(Utf8StreamParser.java:2236)
      at org.codehaus.jackson.impl.Utf8StreamParser._reportInvalidChar(Utf8StreamParser.java:2230)
      at org.codehaus.jackson.impl.Utf8StreamParser._finishString2(Utf8StreamParser.java:1467)
      at org.codehaus.jackson.impl.Utf8StreamParser._finishString(Utf8StreamParser.java:1394)
      at org.codehaus.jackson.impl.Utf8StreamParser.getText(Utf8StreamParser.java:113)
      at com.niveus.jackson.Main.parseEpisodes(Main.java:37)
      at com.niveus.jackson.Main.main(Main.java:13)
  </code></pre>
  <p>Code:</p>
  <pre><code>    public static void main(String [] args) {
          parseEpisodes(&quot;C:\\Json Test Files\\episodes.txt&quot;);
      }
      public static void parseEpisodes(String filename) {
          JsonFactory factory = new JsonFactory();
          JsonParser parser = null;
          String nameField = null;
          
          try {
              parser = factory.createJsonParser(new File(filename));
              
              parser.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
              parser.configure(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, true);
              
              JsonToken token = parser.nextToken();
              nameField = parser.getText();
              String desc = null;
              
              while (token != JsonToken.END_OBJECT) {
                  if (nameField.equals(&quot;episodes&quot;)) {
                      while (token != JsonToken.END_OBJECT) {
                          if (nameField.equals(&quot;description&quot;)) {
                              parser.nextToken();
                              desc = parser.getText();
                          }
                          
                          token = parser.nextToken();
                          nameField = parser.getText();
                      }
                  }
                  
                  token = parser.nextToken();
                  nameField = parser.getText();
              }
              
              System.out.println(desc);
          } catch (JsonParseException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  </code></pre>