昨天我升级了我的Fedora 10后,用Firefox浏览一些Flash音乐播放网页时,发现网页上所有中文都不能正常显示,全显示乱码,比如我家音乐这个音乐网站。经过调查了解,总结出以下解决方法:(本人安装的Ubuntu 9.04也适用)


其实解决的方法也不复杂,操作如下:

打开终端输入以下命令:
#cd /etc/fonts/conf.d/
#cp 49-sansserif.conf 49-sansserif.conf_backup  
先备份一下字体配置文件
#gedit /etc/fonts/conf.d/49-sansserif.conf

此时文件显示的内容如下:

修改/etc/fonts/conf.d/49-sansserif.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
If the font still has no generic name, add sans-serif
-->
<match target="pattern">
  <test qual="all" name="family" compare="not_eq">
  <string>sans-serif</string>
  </test>
  <test qual="all" name="family" compare="not_eq">
  <string>serif</string>
  </test>
  <test qual="all" name="family" compare="not_eq">
  <string>monospace</string>
  </test>
  <edit name="family" mode="append_last">
  <string>sans-serif</string>
  </edit>
</match>
</fontconfig>

    将其中的第1、2、4个<string>后面的sans-serif或者serif用你自己系统中支持中文的字体名称代替(就是标注成红色的三个地方),注意字体名称的大小写。
例如:如果你系统中安装了文泉驿字体wqy-zenhei.ttf,则用wqy-zenhei替换上述字段:

修改后的文件内容如下

<?xml version=”1.0″?>
<!DOCTYPE fontconfig SYSTEM “fonts.dtd”>
<fontconfig>
<!–
If the font still has no generic name, add sans-serif
–>
<match target=”pattern”>
<test qual=”all” name=”family” compare=”not_eq”>
<string>wqy-zenhei</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>wqy-zenhei</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>monospace</string>
</test>
<edit name=”family” mode=”append_last”>
<string>wqy-zenhei</string>
</edit>
</match>
</fontconfig>

保存修改,再重启一下firefox,问题应该就解决了。