MozTW 討論區
https://forum.moztw.org/

FF對於網頁語系指定的一個問題...
https://forum.moztw.org/viewtopic.php?f=2&t=13483
1 頁 (共 1 頁)

發表人:  googlemad [ 2006-04-02, 21:27 ]
文章主題 :  FF對於網頁語系指定的一個問題...

最近做網頁的時候發現了一個問題,那就是FF在開啟此網頁的時候並不把在<head></head>中關於指定語系的指令當做一回事,只按照網站伺服器的指定語系當作編碼的語系,導致網頁開啟失敗。

舉個例子:

如果我的網頁的指定語系是UTF-8,我在網頁的<head></head>標籤中會加入
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
這個語句,但是因為我網頁存放的伺服器指定的語系是Big-5,FF就會以Big-5編碼作為優先,完全忽略我在網頁中指定的語系UTF-8,結果開啟時用BIG-5開,當然是編碼錯誤,就出現"一堆怪物"而失敗了。

欲知詳情請看下列網頁,有類似討論
http://forums.mozine.org/index.php?showtopic=3664

-----------------------------------------------------------

同樣的問題在IE中卻不存在,所以這一點難免讓我對FF失去信心,因為一個網站的網頁編碼必須受限於伺服器實在沒道理,身為一個網頁製作者我沒什麼權力去影響網管來改伺服器的語系設定(在網管是誰都不知道的情況下更麻煩),但是FF卻連我指定的網頁編碼方法都不採用,那在這個UTF-8大一統狂風吹的時代,所有在BIG-5伺服器上的UTF-8網頁都將被瀏覽器支援度問題搞的焦頭爛額,失去其萬國碼的美意。

說了一堆,我再此向各位大大請求一個解套的方法,能不能讓FF可以按照網頁所指定的編碼來做解碼呢?請不要跟我說裝right encoding套件,如果你這麼說我也無言了...

也許FF新版的瀏覽器可以考慮改掉這個頭大的問題,這就要看大大們的意見與聲音了...

發表人:  不惑仔Boohover [ 2006-04-03, 01:39 ]
文章主題 : 

試試在DOCTYPE前加入xml宣告
<?xml version="1.0" encoding="utf-8"?>
但這有個缺點,須小心 ie 會以quirks模式顯示。

可參閱w3c
http://www.w3.org/TR/xhtml1/
appendix C.9

fx是遵循w3c標準,並沒有錯,除非w3c改,可能很難,呵...。

發表人:  googlemad [ 2006-04-03, 21:32 ]
文章主題 : 

不惑仔Boohover 寫:
試試在DOCTYPE前加入xml宣告
<?xml version="1.0" encoding="utf-8"?>
但這有個缺點,須小心 ie 會以quirks模式顯示。

可參閱w3c
http://www.w3.org/TR/xhtml1/
appendix C.9

fx是遵循w3c標準,並沒有錯,除非w3c改,可能很難,呵...。


請教一下,我照你所說的在DOCTYPE前加入xml宣告,做了一個實驗,但是結果卻失敗了,試驗檔的程式碼如下:
------------------------分隔線------------------------

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>這是測試字</p>
</body>
</html>

------------------------------------------------------------
以上檔案以記事本採UTF-8編碼存成.htm後綴然後傳到BIG-5的http網站伺服器上,然後用FF開啟卻還是失敗,IE一樣OK,如果不傳到伺服器中而在自己的電腦上開,則FF和IE都OK,我到底是哪搞錯了呢?也請"不惑大"多指教,謝謝。

註:我試過<!doctype...> 及 <meta ...>都拿掉也不影響實驗結果

發表人:  不惑仔Boohover [ 2006-04-03, 22:37 ]
文章主題 : 

沒有放錯位置。
但是xml宣告需要用在xhtml語法的文件,能夠繪製xhtml的瀏覽器才會有用,而你的doctype是html loose恐怕沒辦法使用xml宣告。
改成xhtml再試看看吧

發表人:  googlemad [ 2006-04-03, 23:18 ]
文章主題 : 

不惑仔Boohover 寫:
沒有放錯位置。
但是xml宣告需要用在xhtml語法的文件,能夠繪製xhtml的瀏覽器才會有用,而你的doctype是html loose恐怕沒辦法使用xml宣告。
改成xhtml再試看看吧

謝謝你的指教,那我又試過下面這一段程式碼(其餘設定一樣),一樣會錯,這.....
---------------------------分隔線----------------------------

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
<p>這是測試字</p>
</body>
</html>

-------------------------------------------------------------

我實在快投降了,我甚至用記事本存一個空白完全沒內容以UTF-8編碼的檔,奇怪的是用FF開竟然會出現一個字"嚜",這個字在所有我的測試檔中都會被FF顯示出來真是怪了,但是只要檔案是存在自己電腦中開啟就都OK,總之FF還是按照伺服器的編碼去做了...

大大若不信邪可以給我你想測試的程式碼(你認為可以正確顯示的),我幫你測看看,再回報結果。

發表人:  james [ 2006-04-04, 01:42 ]
文章主題 : 

如果你的伺服器環境可以使用 .htaccess,以下方法可以暫時解決你的問題:

在與.html文件相同的資料夾中建立檔名為 .htaccess,內容為
代碼:
AddCharset UTF-8 .html .htm

發表人:  wini [ 2006-04-04, 04:44 ]
文章主題 : 

googlemad 寫:
我實在快投降了,我甚至用記事本存一個空白完全沒內容以UTF-8編碼的檔,奇怪的是用FF開竟然會出現一個字"嚜",這個字在所有我的測試檔中都會被FF顯示出來真是怪了,但是只要檔案是存在自己電腦中開啟就都OK,總之FF還是按照伺服器的編碼去做了...

大大若不信邪可以給我你想測試的程式碼(你認為可以正確顯示的),我幫你測看看,再回報結果。

另存新檔成「 UTF-8 without BOM 」試試,
當然是要用 EmEditor 之類有支援該格式的來存啦。
BOM 是用來辨識是否為 Unicode 文件所會用到的前置字元的樣子。

發表人:  不惑仔Boohover [ 2006-04-04, 17:28 ]
文章主題 : 

encoding第一優先權在server實在沒辦法
http://www.w3.org/International/tutorials/tutorial-char-enc/#Slide0240
可能還是得去更改sever設定或是像james的方式解決了

發表人:  googlemad [ 2006-04-05, 20:40 ]
文章主題 :  謝謝各位的指教了

謝謝各位的指教了,我會盡可能的嘗試各位大大提供的方法,如果我有找到解決的辦法也會貼到這裡來的,謝謝大家了。

發表人:  googlemad [ 2006-04-05, 21:02 ]
文章主題 : 

james 寫:
如果你的伺服器環境可以使用 .htaccess,以下方法可以暫時解決你的問題:

在與.html文件相同的資料夾中建立檔名為 .htaccess,內容為
代碼:
AddCharset UTF-8 .html .htm


james大,您提供的方法奏效了 :o ,果然可以把網頁正常用UTF-8顯示了,.htaccess設定檔原來可以這樣用,小弟自知學識有限,受教了。

發表人:  Amauds [ 2006-04-06, 19:40 ]
文章主題 : 

googlemad 寫:
james大,您提供的方法奏效了 :o ,果然可以把網頁正常用UTF-8顯示了,.htaccess設定檔原來可以這樣用,小弟自知學識有限,受教了。

恭喜成功了,要不要試試這種寫法:
代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="UTF-8" lang="UTF-8">


代碼:
<?xml ..
這個就不要了

發表人:  不惑仔Boohover [ 2006-04-06, 23:20 ]
文章主題 : 

Amauds 寫:
恭喜成功了,要不要試試這種寫法:
代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="UTF-8" lang="UTF-8">


代碼:
<?xml ..
這個就不要了


utf-8好像不是是合法的lang code吧???

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/