HTTPResponse无法显示日语字符

时间:2014-04-15 06:15:33

标签: java jsp servlets

当我将内容类型设置为

response.setContentType( "text/html" );

日语字符显示正确,但是当我将内容类型设置为" application / pdf"时,日文字符丢失了。

我也试过" application / pdf; charset = Shift_JIS",但没有工作。

1 个答案:

答案 0 :(得分:0)

PDF是二进制格式,应该由servlet和用户的Web浏览器处理,而不进行任何基于文本的字符编码和解码。

因此,如果字符显示不正确,则问题出在PDF本身(即生成方式有问题)或显示它的软件中。

令人费解的是,只是更改响应内容类型正在产生这种效果,因为这应该对在服务器端创建响应的方式没有影响。所以我有两种可能的解释:

  1. 除了响应内容类型之外,您实际上正在更改其他内容。如果是这种情况,您需要解释(更好)您实际在做什么。

  2. 您尝试发送的内容实际上是HTML ...当您将响应内容类型设置为PDF时,您将导致浏览器将HTML文档发送到PDF查看器。 (当你这样做时,我很惊讶你得到任何东西。我认为浏览器端的PDF查看器会报告一个损坏的文件或其他东西。)