handle encoding edge cases