zoukankan      html  css  js  c++  java
  • Linux 中文乱码问题解决

    本文转载自:http://linux-wiki.cn/wiki/zh-hans/Java%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%96%87%E5%AD%97%E4%BD%93%E9%85%8D%E7%BD%AE
    非常感谢 Linux Wiki用户Chenxing 和 lzh
     
    配置文件位置

    JRE的字体配置文件存放在:

    # 显示当前系统中Java字体配置文件名称:
    echo $JAVA_HOME/jre/lib/fontconfig.properties

    如果这个文件不存在,可以从fontconfig.properties.src复制一个:
    # 本文后续的所有命令可能需要root权限,请自行添加sudo
    cp $JAVA_HOME/jre/lib/fontconfig.properties.src $JAVA_HOME/jre/lib/fontconfig.properties
     
    # 有些系统中该文件是只读的……
    chmod +w $JAVA_HOME/jre/lib/fontconfig.properties

    为了避免受当前fontconfig配置文件的影响,备份并移除所有bfc文件:

    mkdir $JAVA_HOME/jre/lib/bfcbak/
    mv $JAVA_HOME/jre/lib/*.bfc $JAVA_HOME/jre/lib/bfcbak/

    准备字体

    首先请确定要使用的字体

    如:simsun.ttc

    建议将想用的字体文件复制(或创建符号链接)到$JAVA_HOME/jre/lib/fonts,后面的配置会简单一点。

    获取字体定义

    到存放有字体文件的文件夹,如$JAVA_HOME/jre/lib/fonts,运行下述命令[2][3]

    # Make font scale
     mkfontscale
     
     # 寻找文件中含有iso10646的行(对应Unicode类的编码)
     grep 10646 fonts.scale

    会看到这样的一些行:

    simsun.ttc -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
    

    请复制相应字体对应的行备用。

    修改配置文件

    打开配置文件,如$JAVA_HOME/jre/lib/fontconfig.properties,并对其进行如下操作:

    在version=1后面加入一行:

    allfonts.chinese-arphic1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
    

    如果原来文件中还有设置allfonts.chinese-arphic1的,就把它们注释掉。

    指明字体路径

    如果已经把字体复制到$JAVA_HOME/jre/lib/fonts,可以略过此步。否则须在配置文件中加上字体文件的完整路径,以宋体为例:

    filename.-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1=simsun.ttc的完整路径
    

    修改字体搜索序列

    在配置文件中查找sequence.allfonts,如果其后的sequence开头的行中有chinese-arphics1,可以略过此步,否则在其后面加入一行:

    sequence.fallback=chinese-arphic1
    

    解决字显示不清晰的问题

    有时看到英文显示有锯齿,有时看到中文字边缘不清,这可能都与字体反锯齿的设置不当有关。可以在/etc/profile~/.bashrc末尾加入:[5]

    export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

    其中的lcd也可改为gasp,但效果较好的常是lcd。

  • 相关阅读:
    ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
    HTML5网页录音和压缩,边猜边做..(附源码)
    策划编写一个新的Helper类
    正由另一进程使用,因此该进程无法访问此文件。
    第三方组件引用另一个第三方组件的悲剧
    数据库连接池的计数器设计
    让Ajax更简单
    更新Literacy
    多说
    利用C#自带组件强壮程序日志
  • 原文地址:https://www.cnblogs.com/itdev/p/5981164.html
Copyright © 2011-2022 走看看