There are two problems:
StringUtil.isText() does not check for UTF-8
The setUploadContentType() methods AddUploadBaseAction
and CreateSnippetAction do not use our suffix to mime-type mapping file – they just use whatever content type is suggested by Webwork's FileUploadInterceptor.
edit CreateSnippetAction is OK – it doesn't actually use uploads.