What happens if client does not reset values?
Microsoft and Sybase define this function differently.
FAIL
if appropriate. Check for variable multibyte non-UTF-8 input character set.
Use more robust error message generation.
For reads, cope with outbuf encodings that don't have the equivalent of an ASCII '?'.
Support alternative to '?' for the replacement character.