subtle change here?  (Not sure if original returns the input string if utf8ToStringCharset fails)?