When we are reading from a reader we need to use UTF-8, I think strictly speaking we should be looking at what was passed in the header for the content type and only using UTF-8 if none is supplied