Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Excel到XML,编码问题_Java_Excel_Encoding - Fatal编程技术网

Java Excel到XML,编码问题

Java Excel到XML,编码问题,java,excel,encoding,Java,Excel,Encoding,这一切在我的脑海里都混在一起了,我不能把我的头绕在它周围 我有一个excel文件,我必须用Java解析并转换成XML。使用jExcel库,我可以实现解析,应用程序可以做正确的工作,并将正确的字符串放在正确的位置。所以对于解析部分,我已经讨论过了 当我尝试将文件转换为UTF-8时,问题出现了 我假设excel文件的编码是ISO-8859-1,但我不确定是否是。然后,在将字符串添加到xml文件之前使用此函数 private static String isoToUtf(String thingie)

这一切在我的脑海里都混在一起了,我不能把我的头绕在它周围

我有一个excel文件,我必须用Java解析并转换成XML。使用jExcel库,我可以实现解析,应用程序可以做正确的工作,并将正确的字符串放在正确的位置。所以对于解析部分,我已经讨论过了

当我尝试将文件转换为UTF-8时,问题出现了

我假设excel文件的编码是ISO-8859-1,但我不确定是否是。然后,在将字符串添加到xml文件之前使用此函数

private static String isoToUtf(String thingie){
        byte[] bytedata = thingie.getBytes() ; // Comes in ISO form, as the character set in the DB is set to ISO

        Charset iso = Charset.forName("ISO-8859-1");
        CharsetDecoder isodecoder = iso.newDecoder();
        ByteBuffer bbuf = ByteBuffer.wrap(bytedata);
        CharBuffer cbuf = isodecoder.decode(bbuf);  // Decode from ISO to UTF-16


        Charset utf8 = Charset.forName("UTF-8");
        CharsetEncoder utf8encoder = utf8.newEncoder();
        ByteBuffer outbuffer = utf8encoder.encode(cbuf);  // Encode from UTF-16 to UTF-8
        return new String(outbuffer.array(), "UTF-8");
    }
然而,不知何故,它不起作用。我仍然因为腐败而失去了一些角色

另外:我绝对必须这样做,它最终必须显示在Intertube上


excel文件是使用java.io.file类打开的。

对于与我处于相同情况的任何人,都可以为您将使用Jetcel库创建的工作簿指定选项

下面的链接是我找到答案的地方


对于与我处境相同的任何人,都可以为您将使用Jetcel库创建的工作簿指定选项

下面的链接是我找到答案的地方


您究竟是如何编写XML的?如果您只是在编写字符串,那么我可以向您保证,您在很多方面都做得不对,尤其是UTF-8转换。阅读本文了解更多信息:如果您正在阅读Excel,我非常怀疑字符串是否采用固定的编码方式。请查看您是如何编写XML的?如果您只是在编写字符串,那么我可以向您保证,您在很多方面都做得不对,尤其是UTF-8转换。阅读本文了解更多信息:如果您正在阅读Excel,我非常怀疑字符串是否采用固定编码,请参阅