support utf-8 input