jersey fileName编码

时间:2018-05-29 10:46:44

标签: rest character-encoding jersey

我正在尝试获取接收到泽西服务器的上传文件的文件名,但我得错了。 该文件是越南文,因此在文件名上,它收到的是乱码 Aiumá»nsá»hữucá»phầnnhấtvÃtáº,sao.doc 代替 艾muốnsởhữucổphầnnhấtvàtạiso.doc

我的代码如下:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA + ";charset=UTF-8")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response uploadFile(@Context HttpServletRequest httpServletRequest, @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetails){
    String filename = fileDetails.getFileName().replace(",", " ");
}

1 个答案:

答案 0 :(得分:0)

如评论中所述,将编码更改为UTF-8:

String fileName = new String(fileDetails.getFileName().getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8).replace(",", " ");