java读取excel时法文出现乱码

我需要用程序读取excel中的数据,并将其导入到数据库中,
但是excel中出现了如 Der Alpenjäger 中"ä"这样的法文字符,导致用jxl获取值
Workbook rwb = Workbook.getWorkbook(new File(attachmentFilePath), workbookSettings);
Sheet sheet = rwb.getSheet(0);
Cell[] cell = sheet.getRow(0);
String str = cell[0].getContents();
后得到的是乱码,进而写入mysql也是乱码

我mysql用的编码是utf8,直接在mysql中写入"ä"不会出现问题;
我用Eclipse开发,执行Sql="insert into table (name) values('ä')"也没用问题;

各位大大,帮忙想想办法啦
[b]问题补充:[/b]
以上几位说的我都试过了

还是不行啊

excel是用的什么编码啊?
[b]问题补充:[/b]
new String(str.getBytes("GBK"),"utf-8")

workbookSettings.setEncoding("ISO-8859-1");
试过了 还是乱码
[b]问题补充:[/b]
workbookSettings.setEncoding("ISO-8859-1");
new String(str.getBytes("ISO-8859-1"),"utf-8")

我就是这么设置的 可是不行啊

excel是用的utf-16编码?
难道要new String(str.getBytes("utf-16"),"utf-8") ?
[b]问题补充:[/b]
试了无数种编码转换 竟然都不行

wjm251说的方法我再试试

http://jiemyonline.blog.sohu.com/53774941.html
看看这个是否有帮助

不过他提了个思路 ,下载源码然后跟踪调试----------
我这边也不方便搞环境了,不方便帮你调

String str = cell[0].getContents();
这个恐怕是被自动用gbk编码了。

看看getContents有没有指定编码格式的参数,
或者这样试试

new String(str.getBytes("GBK"),"utf-8")

学习ing

workbookSettings.setEncoding("ISO-8859-1");
设置一下,读取数据的编码

我用python处理过excel,excel是utf-16的

workbookSettings.setEncoding("ISO-8859-1");
new String(str.getBytes("ISO-8859-1"),"utf-8")

这样结合起来呢?

可以肯定的是编码不同引起的问题,可以试试多种编码转换。总会有一种方法是对的。

你新建一个excel测试一下,或者把这个excel另存一下。读取excel一般不需要进行编码转换的,估计是文件本身的问题。