2021-05-12 14:32:11
Linux 下解決 Firefox 中文頁面亂碼問題
1.由於 firefox 預設是允許網頁自己選擇字型,在 Linux 上便會出現部分網站的亂碼情況。因此可以取消允許頁面自己選擇字型這個選項便能解決部分亂碼情況。
2.倘若還有亂碼,以及其他應用程式亂碼,則嘗試如下解決方案。
簡單暴力的方法就是直接去掉預設組態檔。
$ sudo mv /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/49-sansserif.conf.bak
另外 ,49-sansserif.conf 是 flashplayer的字型,其實你修改一下就可以了。
<?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>字型</string> #把字型改為你喜歡的字型就可以了
</edit>
</match>
</fontconfig>
亂碼原因:
sans、serif 兩個字型是“虛擬”字型。實際他們不存在。
是多個字型聯合組成的。
這個檔案應該就是進行多字型檔案系結為這兩個虛擬字型的設定檔案。
你 遇到亂碼,應該和這個設定無關。我想可能是你的程式裡面設定了非中文字型。這樣系統會因為字型不全而呼叫預設字型進行解釋, sans serif 兩個就是常用的預設字型。結果預設字型系結的有問題(畢竟這是西方人的東西,字型設定也偏向於西方)。導致文字顯示亂碼。或者之前就設定過 sans serif 字型,這個後補的內容反而影響了字型設定。這裡的設定順序是按照檔名排序的,48 開頭的會優先於這個 49 開頭的設定。
你可以試試手工修改這個字型,裡面是 xml 風格的文字設定內容。你可以找個你喜歡的中文字型,拷貝到計算機的字型目錄(一般是 /usr/share/fonts 裡面的某個目錄,注意需要 root 許可權)。
之後修改這個組態檔為你喜歡的組合(先開始英文,之後中文,字型支援程式會按順序呼叫,如果你把不喜歡的字型放在開始,就算後面的也能支援,但依然會呼叫最開始的字型,英文字型因為沒有中文部分,這樣字型程式會自動呼叫後面的)。
設定字型為 sans 、serif 後,重新啟動 X 就可以使用了(不重新啟動的話,只在最新執行的程式上面有效)。
這個檔案一定要用純文字編譯器,且內容必須是 UTF8 的編碼(中文字型名字必須用 UTF8 )!另外,系結的字型一定要是你系統裡面有的字型,不然你的系統會忽略這個字型繼續下一個,如果你選擇的中文字型系統裡面都沒有,會呼叫失敗而無法顯示中文。
Mozilla Firefox 40.0 正式發布下載 http://www.linuxidc.com/Linux/2015-08/121483.htm
Ubuntu 14.04 下手動安裝Firefox的Flash外掛 http://www.linuxidc.com/Linux/2014-04/100490.htm
Ubuntu下Firefox版本的替換 http://www.linuxidc.com/Linux/2012-07/64810.htm
通過apt-get在Debian Linux下安裝FireFox和ThunderBird http://www.linuxidc.com/Linux/2012-07/66132.htm
Firefox 29 穩定版本發布-Linux使用者如何安裝 http://www.linuxidc.com/Linux/2014-04/100940.htm
Mozilla Firefox 31.0 正式版發布下載 http://www.linuxidc.com/Linux/2014-07/104529.htm
相關文章