use scrub_rb instead of ensure_valid_encoding
stop using mb_chars from old ruby 1.8 days, but scrub just in case
make robust to unexpected missing data
make sfx_test stop using fixtures in a desperate attempt to avoid the non-deterministic test failures on travis that we can't reproduce locally