CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jfreechart在linux下出现乱码,求解决办法

楼主yx580tnt(yan)2006-02-17 18:22:05 在 Java / Web 开发 提问

用jfreechart显示的中文在中文linux下变成乱码,网上此问题的解决办法都是要改动linux下的文件,方法都比较复杂,有没在程序里直接改动的简单办法?  
    实在没有的话,有没通用点的办法? 问题点数:34、回复次数:8Top

1 楼PoemCode(诗意代码)回复于 2006-02-17 18:37:50 得分 24

这是linux版本JDK/JRE缺乏中文字体(支持)的缘故。(即便是最新的JDK1.5也是如此,真是奇怪SUN居然可以容忍这种问题一直延续到现在)。  
  以下是最简单的解决方法:  
  在JRE/lib/fonts下新建一个目录,命名为fallback,将winows下simsun.ttf字体拷贝到这个目录下。Top

2 楼yx580tnt(yan)回复于 2006-02-20 09:33:48 得分 0

谢谢,好像sun不怎么关心中国程序员的反馈,jdk文档官方翻译也是中国最后开始的。  
  我试试你的方法。Top

3 楼china2001ok(开心拽拽)回复于 2006-02-22 09:40:07 得分 0

怎么样?可以解决问题?Top

4 楼china_yx(笨木)回复于 2006-02-22 13:05:13 得分 5

修正jre的font.conf文件也可以Top

5 楼china2001ok(开心拽拽)回复于 2006-02-22 13:30:37 得分 5

楼主   我在Linux下用freechart都报错啊    
  HTTP   Status   500   -    
   
  --------------------------------------------------------------------------------  
   
  type   Exception   report  
   
  message    
   
  description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request.  
   
  exception    
   
  org.apache.jasper.JasperException  
  at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)  
  at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)  
  at   java.lang.Thread.run(Thread.java:534)  
   
   
  root   cause    
   
  javax.servlet.ServletException  
  at   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)  
  at   org.apache.jsp.imiplistpic_jsp._jspService(imiplistpic_jsp.java:450)  
  at   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)  
  at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)  
  at   java.lang.Thread.run(Thread.java:534)  
   
   
   
  --------------------------------------------------------------------------------  
   
  Apache   Tomcat/4.1.30Top

6 楼yx580tnt(yan)回复于 2006-02-24 10:22:12 得分 0

PoemCode(诗意代码之魔数)   的方法中的simsun.ttf   没找到   只找到个微软的simsun.ttc   ,试过不行,不知是不是什么地方还有问题  
   
  china_yx(笨木)   你说的font.conf我没找到阿,具体要改此文件的什么?  
   
  china2001ok(插花插花*不会插花)       我看不出什么错误,我把我的方法写出来吧  
   
  -----------------------  
  1)   找一个能在linux下用的中文字体,这里我找的是gbsn00lp.ttf  
  2)   把它放到jdk目录的jre/lib/fonts目录里  
  3)   修改/usr/j2sdk1.4.2_04/jre/lib/fonts/fonts.dir  
      a.   把第一行的数字加一   (如果是72就改为73)  
      b.   在最后新增一行  
    gbsn001.ttf   -SungtiL   GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0  
  4)   修改/usr/j2sdk1.4.2_04/jre/lib/font.properties文件  
        把含有iso8859-1行从等号后面全部改为-SungtiL   GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0  
          (含有“CharToByteISO8859_1”的可以不改)  
   
  Top

7 楼china2001ok(开心拽拽)回复于 2006-02-27 16:25:26 得分 0

奇怪了   我重新换台机器   中文就能显示没问题的Top

8 楼PoemCode(诗意代码)回复于 2006-02-28 22:25:38 得分 0

PoemCode(诗意代码之魔数)   的方法中的simsun.ttf   没找到   只找到个微软的simsun.ttc   ,试过不行,不知是不是什么地方还有问题  
  -----------------------------------------------------------------------------  
  不错,就是这个simsun.ttc,按照我的方法应该没有问题。在一些发行版中jre是可以找到中文字体。Top

相关问题

  • linpus linux 乱码
  • 特急!网页乱码没有办法!!!!
  • 100分求乱码解决办法,
  • 在linux上drawString乱码
  • 关于在Linux乱码!
  • 上传中文名称文件到linux服务器乱码,关于解决办法的设想请大家指正....
  • JSP页面中文显示乱码,急求解决办法
  • 高手请进,有什么办法不乱码?
  • 在javabean里乱码,有什么好的办法可以解决?
  • jsp传值出现乱码.有什么办法解决.

关键词

  • .net
  • linux
  • 解决
  • 字体
  • 中文
  • apache
  • servlet
  • service
  • applicationfilterchain
  • jspservlet

得分解答快速导航

  • 帖主:yx580tnt
  • PoemCode
  • china_yx
  • china2001ok

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo