Use UnsafeHolder, since UnsafeFactory is gone in 1.7.5+.
Use read encoding from IO to set up parser's reader.
Properly negotiate encoding from string or IO.