always use UTF-8 encoding