您在這裡

原始檔顯示亂碼

swinghw's 的頭像
swinghw 在 2006-09-15 (週五) 13:46 發表

諸位先進:
我的網站用 drupal 建好後, 版面上顯示中文沒有問題. 但是如果查看原始檔的話卻是亂碼. 不過這種情形只有首頁會發生, 其他頁面的原始檔看起來中文就沒有問題. 不知道這種情形會不會妨礙到搜尋引擎的運作. (我用的版本是 4.7.3, 已經輸入中文包,管理介面已經中文化)

我的網站名 klriver.ngo.org.tw 另外,昨天 google 已可搜尋到網站的首頁, 以乎這個亂碼的問題並沒有造成搜尋引擎的困擾.

我用IE看,首頁的原始碼的確是亂碼。
以前有在其他CMS裡遇到過同樣的問題,好像是因為某個template沒有用正確的utf-8編碼存檔的關係,但不是很確定。

可是我用IE測看看,首頁的原始碼正常說(http://klriver.ngo.org.tw/),用emeditor看的,已是utf-8編碼!

底下的這種寫法,在meta...chareset=utf-8放在title之後,有些以ie瀏覽時,頁面會亂碼,倒是有遇到過,把utf-8擺在title之前一行就正常了;這個情況在firefox則不會產生。

現在的:

基隆河守護網

改為:

基隆河守護網

也就是把 meta...charset=utf-8 寫在 title 的前一行.

Hipfox 的方法試過了, 但沒有效果, 我是在 page.tpl.php 中在 title 前加上那一行. 如此原始檔變成有二次的語言編碼. 不曉得會不會有問題. 我也試了三四台電腦所看到的原始檔都是亂碼, Hipfox 看到正常編碼的情形可能是少數. 當然這個問題不會困擾到一般的使用者,但是在註冊之後的通知信上的中文也是亂碼, 如此就無法把通知的訊息改成中文, 對於部分的使用者而言,可能就有點困擾了.

我在猜,是 IE 「覺得這個頁面是別種編碼」,所以即使裏頭硬是標出了 utf-8,它還是把它以別種編碼解出來「給你看」。

因為當你要檢視原始碼時,開啟的文字編輯器是有可能會自己轉過碼再秀給你看的。

如果真的是這樣的話,那就是你送出的 html 有使它誤判的字元存在,像是在編輯 template 檔時,忘了要以 utf-8 的格式存回去什麼之類的,這只是我的猜測啦。

如果你是以Windows內建的記事本檢閱原始碼的話,很有可能會看到亂碼。記事本好像會以ANSI的方式開啟檔案,這樣子再怎麼看還是亂碼,倒是可以換個Editor試看看。

至於Head中間那一段,我都是這樣寫的:

<?php print $head ?>
<?php print $head_title ?>
<?php print $styles ?>

這樣子就不會重覆了。

Windows XP 裏頭的 notepad 是直接直援 unicode 的喔,這個我很確定。問題可能發生於這些文字編輯器「猜你的文字的編碼」的過程。

不然你就到 IE 裏頭,把 source page editor 設成別的就行了(ex, gvim, pspad, notepad++, ultraeditor, ...),然後透過這些你比較熟悉的 editor 來看也行。不過這是假設你愛用的 editor 在「自動猜編碼時不會猜錯」,或是有提供「改變顯示編碼的功能」。