vocabulary must encode to utf8