乱码问题之中文字体

在部署集智数据平台时,linux操作系统或unix操作系统,有时会有中文乱码的情况。


这可能是操作系统中,没有安装中文字体。


当售前工程师在问系统管理员是否安装了中文字体时,一般得到的答案都是说已经安装了中文字体。


售前工程师怎么样来确定操作系统里安装了中文字体呢,在系统中访问一下这个jsp页面,看结果就可以了。


enum_font.jsp


<%@ page language=”java” pageEncoding=”GBK”%>
<jsp:directive.page import=”java.awt.GraphicsEnvironment”/>
<%
 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
 String[] fontNames= ge.getAvailableFontFamilyNames();
%>
<!– 列出当前服务器安装的字体 –>
<html>
  <head>
  </head>
  <body style=”font-size: 14px”>
当前Java环境支持的字体列表
<dir>
<%
 for(int i=0;i<fontNames.length;i++)
  out.println(“<li>”+fontNames[i]);
%>
</dir>
  </body>
</html>


访问得到的结果,如下图:




结果中没有中文字体的,则操作系统中是没有安装中文字体的,安装一下中文字体,乱码问题就解决了。


附安装中文字体的方法:


方法一、拷贝中文字体:


1、 在启动java的时候加入如下参数,参数值为jdk的安装路径 -Dsun.java2d.fontpath=……/j2se/jre/lib/fonts


2、 操作系统安装完整的中文安装包,然后把操作系统的中文字体文件拷贝到……/j2se/jre/lib/fonts目录下


3、 打开……/j2se/jre/lib目录下的font.properties文件,把新添加的字体文件的对照信息加进该文件即可


4、 重起webserver


方法二、安装中文包:


1、 操作系统安装完整的中文安装包


2、 卸载jdk,重新安装,让jdk读取新的中文字体文件


 


本文标签: