如何检测PPTX文件的编码?

时间:2015-01-07 09:20:54

标签: java http-post apache-poi

我的问题是,如何在Java中获取pptx文件的编码? (我正在使用apache poi)

   File f = new File(filename);
   XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(f));

我需要知道encoing的原因是,稍后,我发布了一些我保存在json字符串中的文件数据,而且在这个阶段我的问题就出现了。

当进行http POST时,编码被更改,我认为这个问题可以解决如果我知道我的json字符串中的数据编码。然后我可以在我的http POST中设置这个编码。

修改/澄清:

问题是瑞典的字母å,ä和ö。

成为Ã¥

ä成为Ã

ö变成了¶

1 个答案:

答案 0 :(得分:0)

除了Java和POI,要获取PowerPoint PPTX文件的编码,您必须检查幻灯片的基础XML:

  1. 解压缩pptx文件(要手动查找,可以使用7-zip之类的任何zip实用程序)。
  2. 在zip根目录下,找到ppt / slides目录。
  3. 通常每张幻灯片都是slide#.xml;打开您要检查的内容。
  4. 阅读第一行:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

在大多数情况下,我希望所有幻灯片的编码都相同(这意味着您可以使用根级别的“ [Content_Types] .xml”文件作为整个档案编码的代理)。 / p>