如何在 JAX-RS 中设置响应头,以便在自定义生成的文件中正确显示中文字符

Moh*_*jar 3 java rest response jax-rs character-encoding

如何在 Excel 文件中正确生成支持中文字符编码的“javax.ws.rs.core.Response”(待返回)?

为了澄清,我有一个包含一些中文内容的文件(CSV excel),我需要返回一个 javax 响应,然后正确显示文档中的中文字符(在客户端)。

目前我正在做以下事情:

return Response.status( 200 )
        .header( "content-disposition", 
                 "attachment;filename=SampleCSV.csv;charset=Unicode" )
        .entity( result )
        .build();
Run Code Online (Sandbox Code Playgroud)

但是当这个响应被构建并返回到客户端时(并显示一个要求下载文件的弹出屏幕),excel文件的中文内容被狼吞虎咽。

任何建议将不胜感激。

Sea*_*lly 5

定义内容处置标头的RFC没有提到字符集子句

还尝试向响应添加适当的内容类型标头:

.header("Content-Type", "text/csv; charset=utf-8")
Run Code Online (Sandbox Code Playgroud)

请务必使用 utf-8,而不是 unicode。如果可行,那么您可以charset从 content-disposition 标头中删除该子句。