Java HTTPResponse无法显示日语字符
当我将内容类型设置为Java HTTPResponse无法显示日语字符,java,jsp,servlets,Java,Jsp,Servlets,当我将内容类型设置为 response.setContentType( "text/html" ); 日语字符显示正确,但当我将内容类型设置为“application/pdf”时,日语字符丢失 我也尝试过“application/pdf;charset=Shift_JIS”,但没有成功。pdf是一种二进制格式,应该由servlet和用户的web浏览器处理,而不需要进行任何基于文本的字符编码和解码 因此,如果字符显示不正确,则问题要么在于PDF本身(即生成方式存在问题),要么在于显示PDF的软件
response.setContentType( "text/html" );
日语字符显示正确,但当我将内容类型设置为“application/pdf”时,日语字符丢失
我也尝试过“application/pdf;charset=Shift_JIS”,但没有成功。pdf是一种二进制格式,应该由servlet和用户的web浏览器处理,而不需要进行任何基于文本的字符编码和解码 因此,如果字符显示不正确,则问题要么在于PDF本身(即生成方式存在问题),要么在于显示PDF的软件 令人费解的是,仅仅更改响应内容类型就会产生这种效果,因为这不会影响在服务器端创建响应的方式。因此,我有两种可能的解释:
您是否正在尝试直接从JSP文件创建PDF?是的,它是PDF格式的报告您是否自己创建PDF?如果是这样,您可能需要在InputStreamReader中嵌入Japanese fonts.set SHIFT_JIS为什么SHIFT_js而不是UTF-8?我已经调查并发现这个问题与Jasper的PDF生成API有关,而不是与HttpSpone有关。一旦我得到它,我将更新适当的修复程序