解決本站中文顯示亂碼時的瀏覽器設定方式~

今天收到 yungyuc 的留言,告知使用某些瀏覽器瀏覽本站時,中文都會變成亂碼…
>您這個系統kmr xiy 用 Firefox 和 Seamonkey 看 (Windows/Linux 皆然),中文都會變成亂碼。IE 和 Opera 正常 (僅測試 Windows)。

其實這問題出現蠻久了,我的朋友在美國,即使使用 IE(英文版本) 瀏覽我的站台時,也是無法正確顯示中文,也有是網友反應,使用 Firefox 會出現亂碼,但在 Windows 系統下使用 IE 卻沒有問題... 一直都找不出問題的癥結在那裡,後來是本站的一位讀者給了解決方案(實在感謝他!)。不過,我仍不知原理到底為何? (我的 Blog 系統係為 utf-8 的正體中文編碼方式。)

先列出如何讓各種瀏覽器均可以正確顯示中文的設定方式:

  1. 打開 IE 瀏覽器,在選單中,選擇【工具】【網際網路選項】【一般】。
  2. 在最下列選項中,選擇【語言】,出現【語言喜好設定】對話框。
  3. 選擇【新增】,選擇語言為 zh-tw (中文(台灣))。
  4. 其它瀏覽器亦比照如同之設定方式,也就是一定要新增 “zh-tw” 語言,如此才會送出 Accept-Language:tw,而顯示正確的中文(utf-8)編碼。

正確顯示本站中文編碼的瀏覽器設定方式~

文章導覽

   

共有 12 則迴響

  1. MUST BE THIS:
    first:
    meta http-equiv=”Content-Language” content=”zh-tw”>

    last:
    meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

  2. 簡單看了一下 source, 有可能是在設定的時候選了兩個以上的 locale, 然後在看到有 Accept-Language 的時候, 就選到其它的 locale, 再來就…

    因為我沒裝過這一套 blog system, 所以不知道設定要怎麼改, 如果去改程式的話, 理論上到 blogs/inc/_main.inc.php 把這一段 mark 掉就 ok 了: $default_locale = locale_from_httpaccept();
    (有沒有效我不知道, 因為我自己沒試過)

  3. 很明顯不可能是, 因為只要 server 吃到的 header 裡有Accept-Language, 而且不包含 zh-tw 就一定會吐 ? 出來(試過直接連 server 送 request, 它就是這樣子回我的…)

    至於為什麼, 大概得去看 source 才知道了

  4. Hello Beata:
    耶? 這可能是關鍵之處呢,是否可以請 yungyuc, Beata 測測看呢? 我已經照您的建議給更改順序了。

    呼,要真是這問題,實在相當感謝您,這問題困擾已久了~

  5. meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ /

    這句meta tag要放在title輸出之前,因為title中有中文…

  6. hi yungyuc:
    我相信是 blog 系統的設定問題,只是我一直找不出應該在 b2evolution 系統的哪一個地方作設定。早一點版本的 b2,並沒有這個問題,是直到現在所重新安裝的這個版本後,才出現這個無法正確顯示中文的問題。

  7. 那可能不行。我不記得確實的 directive,不過它應該是放在 serverconfig 裡的,所以 virtualhost (namedvirtualhost) 裡面大概不能設。

    這個問題得拿到 .conf 檔研究一下才會曉得。

  8. hi yungyunc:
    可是 apache 不在我這裡耶,我的 blog 是租借從 ServerZoo,不過,之前租借其它的 ISP 也是遇到一樣的問題。

    若是虛擬站台,也可以設定 useragent charset 嗎?

  9. 真有意思,我的 FF/Opera 確實是沒有打開 zh-tw locale。不過我只會在您這邊遇到這個問題,所以會到現在才發現自己沒有本地的 locale。

    或許你的 apache 把關於 useragent charset 的 autodetection 之類的選項打開了?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *