Fix UTF-8 validation bug where some cases didn't get replacement chars inserted correctly