Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 779|回复: 0

Linux 解决 firefox 中文页面乱码问题

[复制链接]
  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 758 天

    [LV.10]以坛为家III

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    708222
    发表于 2021-7-18 01:19:23 | 显示全部楼层 |阅读模式

    1.由于 firefox 默认是允许网页自己选择字体,在 Linux 上便会出现部分网站的乱码情况。因此可以取消允许页面自己选择字体这个选项便能解决部分乱码情况。

      

     

    2.倘若还有乱码,以及其他应用程序乱码,则尝试如下解决方案。

      简单暴力的方法就是直接去掉默认配置文件。

    1 $ sudo mv /etc/fonts/conf.d/49-sansserif.conf  /etc/fonts/conf.d/49-sansserif.conf.bak

     

      另外 ,49-sansserif.conf 是 flashplayer的字体,其实你修改一下就可以了。

     1 <?xml version="1.0"?>
     2 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
     3 <fontconfig>
     4 <!--
     5 If the font still has no generic name, add sans-serif
     6 -->
     7     <match target="pattern">
     8      <test qual="all" name="family" compare="not_eq">
     9         <string>sans-serif</string>
    10         </test>
    11         <test qual="all" name="family" compare="not_eq">
    12             <string>serif</string>
    13         </test>
    14         <test qual="all" name="family" compare="not_eq">
    15             <string>monospace</string>
    16         </test>
    17         <edit name="family" mode="append_last">
    18   <string>字体</string> #把字体改为你喜欢的字体就可以了
    19         </edit>
    20     </match>
    21 </fontconfig>
    View Code

     

    乱码原因:

    sans、serif 两个字体是“虚拟”字体。实际他们不存在。
    是多个字体联合组成的。
    这个文件应该就是进行多字体文件绑定为这两个虚拟字体的设置文件。

    你 遇到乱码,应该和这个配置无关。我想可能是你的程序里面设置了非中文字体。这样系统会因为字体不全而调用默认字体进行解释, sans serif 两个就是常用的默认字体。结果默认字体绑定的有问题(毕竟这是西方人的东西,字体设置也偏向于西方)。导致文字显示乱码。或者之前就设置过 sans serif 字体,这个后补的内容反而影响了字体设置。这里的配置顺序是按照文件名排序的,48 开头的会优先于这个 49 开头的配置。

    你可以试试手工修改这个字体,里面是 xml 风格的文本配置内容。你可以找个你喜欢的中文字体,拷贝到计算机的字体目录(一般是 /usr/share/fonts 里面的某个目录,注意需要 root 权限)。
    之后修改这个配置文件为你喜欢的组合(先开始英文,之后中文,字体支持程序会按顺序调用,如果你把不喜欢的字体放在开始,就算后面的也能支持,但依然会调用最开始的字体,英文字体因为没有中文部分,这样字体程序会自动调用后面的)。
    设置字体为 sans 、serif 后,重启 X 就可以使用了(不重启的话,只在最新运行的程序上面有效)。

    这个文件一定要用纯文本编译器,且内容必须是 UTF8 的编码(中文字体名字必须用 UTF8 )!另外,绑定的字体一定要是你系统里面有的字体,不然你的系统会忽略这个字体继续下一个,如果你选择的中文字体系统里面都没有,会调用失败而无法显示中文。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-7-7 21:42 , Processed in 0.075972 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表