better decoding for special chars