使用iText组件不能在表格中显示中文?急急急!

wsnds 2002-04-19 09:28:21
Table aTable = new Table(7, 2);
aTable.addCell("中文显示");
aTable.addCell("0.1");
aTable.addCell("1.0");
aTable.addCell("1.1");
aTable.addCell("1.1");
aTable.addCell("1.1");
aTable.addCell("1.1");

aTable.addCell("0.0");
aTable.addCell("0.1");
aTable.addCell("1.0");
aTable.addCell("1.1");
aTable.addCell("1.1");
aTable.addCell("1.1");
aTable.addCell("1.1");

document.add(aTable);
中文显示的是乱码,怎么解决啊!急!
...全文
667 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goldencat 2002-07-01
  • 打赏
  • 举报
回复
我同意lirc的意见,我以前也这么解决的,它好像好友一种解决办法,我是在itext的网站上找到的。http://www.lowagie.com/iText/index.html
lirc 2002-04-27
  • 打赏
  • 举报
回复
问题解决了吧?
yuhan 2002-04-23
  • 打赏
  • 举报
回复
是你的FONT 的事,他对亚洲文字有特殊的字体显示的方法。看看iText的指南上关于字体的一章有详细的说明。用这个试试


BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
lirc 2002-04-23
  • 打赏
  • 举报
回复
.....
Table aTable = new Table(2, 2);
float[] intheaderwidths = { 18, 18};
aTable.setWidths(intheaderwidths);
aTable.setWidth(36);
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
Phrase ph = new Phrase("中文显示", FontChinese);
Cell cell = new Cell(ph);
aTable.addCell(cell);
......
wsnds 2002-04-19
  • 打赏
  • 举报
回复
肯定不行,在java生成pdf文件的时候是不任这个gb2312的,跟平常转数据库不一样的。
chensh1024 2002-04-19
  • 打赏
  • 举报
回复
试试:
String cnStr = "中文显示";
cnStr = new String(cnStr.getBytes("GB2312"));

cnStr = new String(cnStr.getBytes("iso-8859-1"),"GB2312");

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧