问题描述:
使用openoffice将txt文本转pdf的过程中发现中文乱码。
解决思路及过程:
1、查看出现乱码的原因
经查询jodconverter源码发现,只有utf-8编码的文本才不会中文乱码。
2、怎么样将非utf-8编码文件转换成utf-8文件。
要转之前首先要判断txt文本本身的编码。经查发现txt文本有一个头。
判断方法如下
/**
* 根据文件路径返回文件编码
* @param filePath
* @return
* @throws IOException
*/
public static String getCharset(String filePath) throws IOException{
BufferedInputStream bin = new BufferedInputStream(new FileInputStream(
filePath));
int p = (bin.read() << 8) + bin.read();
String code = null;
switch (p) {
case 0xefbb:
code = "UTF-8";
break;
case 0xfffe:
code = "Unicode";
break;
case 0xfeff:
code = "UTF-16";