don't use the multibyte string functions otherwise we get strange results with binary data that isn't necessarily utf-8