Added basic support for caller-specified character encoding