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

Firefox 3.0 beta 5 對 Unicode 3.x 支援不佳
https://forum.moztw.org/viewtopic.php?f=18&t=22214
1 頁 (共 2 頁)

發表人:  老刀 [ 2008-04-21, 15:25 ]
文章主題 :  Firefox 3.0 beta 5 對 Unicode 3.x 支援不佳

請參考本人的部落格文章「Firefox 3.0 beta 的 Unicode 試驗無夠合格」一文。本人撰寫台文網頁需經常使用 Unicode 範圍 CJK 字集,日前撰文時發現 Firefox 3.0 beta 5 對 Unicode 3.x 的相容性尚不如 2.0.0.14。詳如下方的螢幕擷取畫面:

圖檔
Firefox 2.0.0.14

圖檔
Firefox 3.0 beta 5

由上圖可知 Firefox 3.0 beta 5 無法顯示「辶日」,它屬於 Unicode 3.1 字集範圍。

另外,Firefox 無論是 2.x 或 3.x 皆無法正確顯示 blogger/blogspot 文章標題上的 Unicode 3.1 文字(請參見這篇文章的標題),原先我認為可能是 blogger/blogspot 本身的問題,但換用 Safari 3.1 卻可以完全顯示正常文字,故研判問題出在 Firefox 的可能性比較大。

希望正式版的 Firefox 3.0 正式版可以解決這個問題。

發表人:  coolcd [ 2008-04-21, 16:15 ]
文章主題 : 

你看得到我這裡輸入的「

發表人:  lwb [ 2008-04-21, 16:56 ]
文章主題 : 

我覺得是網頁寫錯了(blogspot的bug?),在有問題的網頁中網頁原始碼如下(為了能夠在網頁中顯示,#已經被取代為全形的#):
代碼:
尤其是��迌物仔

那個無法顯示的兩個Code是U+D861與U+DC68,屬於Unicode Surrogates的範圍,在使用編碼表示Unicode時,根據Unicode 5.0的標準這樣是不正確的,以UTF-8寫成的網頁,應該不必要使用HTML Numeric character references(例如coolcd上面的例子應該是正確的寫法),如果一定要用Numeric character references,則應該要轉換成Unicode scalar value,也就是U+28468,寫成:
代碼:
尤其是𨑨迌物仔

或是轉換成十進位:
代碼:
尤其是𨑨迌物仔

才對,能夠顯示應該算是瀏覽器能夠容錯,不能顯示不應該算是不支援Unicode。不過我也不算這方面的專家,所以請多指教。
修改:coolcd前一篇的那個字看得到,但是要有支援部份Unicode CJK Extension B的字型才可以。

發表人:  coolcd [ 2008-04-21, 19:52 ]
文章主題 : 

lwb 寫:
我覺得是網頁寫錯了(blogspot的bug?)

因為在 Fx 2.0.0.X 是正常的,所以我覺得比較可能是 Fx 3 對 blogspot 貼文的 script 的解讀有變所導致的結果,應該跟 blogspot 回報一下。不過也有可能是 Fx 3 解讀某段 script 的 bug。

另外,老刀提到的另一個問題,就是 Fx 無法在標題顯示 CJK Ideograph ExtB 的文字,我這邊也是這樣,我想這應該是 Fx 的 bug 吧,不知其他人看法如何?如果是的話最好到 bugzilla 回報。

發表人:  lwb [ 2008-04-21, 20:52 ]
文章主題 : 

coolcd 寫:
lwb 寫:
我覺得是網頁寫錯了(blogspot的bug?)

因為在 Fx 2.0.0.X 是正常的,所以我覺得比較可能是 Fx 3 對 blogspot 貼文的 script 的解讀有變所導致的結果,應該跟 blogspot 回報一下。不過也有可能是 Fx 3 解讀某段 script 的 bug。


看起來Fx2與Fx3對Numeric character references的解讀方法不同了,現在變得不允許Unicode Surrogates,不過因為在標準的UTF-8/UTF-32中也是不允許Surrogate pair被拆散以免造成字串比較的模糊,所以不支援似乎也有理?

coolcd 寫:
另外,老刀提到的另一個問題,就是 Fx 無法在標題顯示 CJK Ideograph ExtB 的文字,我這邊也是這樣,我想這應該是 Fx 的 bug 吧,不知其他人看法如何?如果是的話最好到 bugzilla 回報。

看網頁原始碼可以看得到,這兩個是同一個問題,blogspot用了不正確的編碼,所以大於U+FFFF的字碼都有以上的問題,但是奇怪的是,我在blog的張貼意見頁面上貼文的時候才注意到不是所有blogger頁面都是錯的,這問題也許應該找blogspot/blogger修才對。

發表人:  coolcd [ 2008-04-21, 22:45 ]
文章主題 : 

lwb 寫:
看起來Fx2與Fx3對Numeric character references的解讀方法不同了,現在變得不允許Unicode Surrogates,不過因為在標準的UTF-8/UTF-32中也是不允許Surrogate pair被拆散以免造成字串比較的模糊,所以不支援似乎也有理?

感謝你提供的資料,應該這才是

發表人:  Dark Shenada [ 2008-04-21, 23:09 ]
文章主題 : 

coolcd 寫:
lwb 寫:
coolcd 寫:
另外,老刀提到的另一個問題,就是 Fx 無法在標題顯示 CJK Ideograph ExtB 的文字,我這邊也是這樣,我想這應該是 Fx 的 bug 吧,不知其他人看法如何?如果是的話最好到 bugzilla 回報。

看網頁原始碼可以看得到,這兩個是同一個問題,blogspot用了不正確的編碼,所以大於U+FFFF的字碼都有以上的問題,但是奇怪的是,我在blog的張貼意見頁面上貼文的時候才注意到不是所有blogger頁面都是錯的,這問題也許應該找blogspot/blogger修才對。

關於這個問題,我是自己用本機的網頁測的,你可以在任意一個網頁的標題中加入 BMP 以外的字元就可以重現這個問題,這看起來像是 Bug 404856


是類似這個問題嗎 ?
http://forum.moztw.org/viewtopic.php?t=22183&highlight=%E5%85%A8%E5%AD%97%E5%BA%AB%E4%B8%80%E7%9B%B4%E4%BB%A5%E4%BE%86%E5%9C%A8+big5

有人要測看看Linux下是否有相同問題 ?

發表人:  coolcd [ 2008-04-21, 23:24 ]
文章主題 : 

Dark Shenada 寫:

其實那一篇我看得模模糊糊的不太懂。 :oops:
不過我想應該不一樣吧,因為我測的網頁是 utf8 編碼,且是在 Linux zh-TW.UTF-8 的環境下測的,應該跟 big5 造字區搭不上關係。

發表人:  twu2 [ 2008-04-22, 00:19 ]
文章主題 : 

http://isthisthingon.org/unicode/index. ... lyph=28468

如果認為是 firefox 3 不能顯示某些字的話 (其實我會認為是本身的系統字型有問題可能性比較大, 不過樓主說在 fx2 上頭是正常的, 這就很奇怪), 可以到這兒試看看.

至少我在 fx3 上頭看起來都很正常, 顯示在標題上頭也是正常的.

發表人:  老刀 [ 2008-04-22, 10:29 ]
文章主題 : 

剛才在 Firefox 裡檢視網頁原始碼,確實 blogger/blogspot 是以 &#55393;&#56424; 表示「辶日」這字。另外,我也發現 blogger/blogspot 文章標題是以 <h3> 標籤顯示;而 Firefox 2.0.0.14 可以顯示本文中的 Unicode 字,但同樣的字在 <h3> 標籤中卻又無法顯示,這也是很奇怪的事。

[b][color=red]事後補充:剛才我又測試以 &#x28468; 代替我 blogger/blogspot 內文及標題的「

發表人:  翔風 [ 2008-04-23, 05:50 ]
文章主題 : 

其實還涉及一個比較隱蔽的Server端問題——包括MySQL 5在內的以前版本,不支援4字節長的UTF-8編碼(使用UTF-8 Character Sets and Collations[?]),所以如果需要使用4字節長的UTF-8編碼就要轉成NCR。

但是blogspot的Server是否用MySQL,是否能正確將UTF-16「Unicode Surrogates」的對應UTF-8編碼正確指回去就還是值得疑問。

而fx3標題問題嘛,要是在WIndows平台上出現的話,就只能說是Fx沒有使用W系(支援Unicode)的API了……

發表人:  legnaleurc [ 2008-04-23, 09:55 ]
文章主題 : 

Windows的程式應該都會用tchar.h來達成W和A的轉換
應該是Unicode處理方式有差吧

就算如此Windows的locale還是很討厭就是了

發表人:  翔風 [ 2008-04-23, 10:39 ]
文章主題 : 

legnaleurc 寫:
Windows的程式應該都會用tchar.h來達成W和A的轉換
應該是Unicode處理方式有差吧

就算如此Windows的locale還是很討厭就是了
問題就在於要跨平臺開發的時,Windows那部分就偏偏給忽略掉這些細節設定,而且往往不用Windows API,達不到原生Windows程式的要求……
結果反而Windows版本就不支援Unicode了……
MPlayer在Windows上不支援讀取Unicode檔案名的檔案就是最好的證明。

所以我等Firefox2才轉用的……
不過好像是為了支援Windows 9x或者兼容性而大量保留使用非Unicode的代碼……

發表人:  legnaleurc [ 2008-04-23, 14:25 ]
文章主題 : 

翔風 寫:
問題就在於要跨平臺開發的時,Windows那部分就偏偏給忽略掉這些細節設定,而且往往不用Windows API,達不到原生Windows程式的要求……
結果反而Windows版本就不支援Unicode了……
MPlayer在Windows上不支援讀取Unicode檔案名的檔案就是最好的證明。

所以我等Firefox2才轉用的……
不過好像是為了支援Windows 9x或者兼容性而大量保留使用非Unicode的代碼……


Well...那也有可能是為了相容Visual Studio系統以外的Compiler(比方說MinGW)而不使用吧
目前MinGW的wide character stream沒有port出來
WinAPI也沒有完整port

之前在寫跨平台的程式時也在Unicode上卡很久

發表人:  某A [ 2008-04-23, 18:00 ]
文章主題 : 

老刀 寫:
此外,除了先前提到我利用 Safari 3.1 檢視網頁沒有問題之外,方才我再以少用的 Internet Explorer 7 檢視結果也是完全正常。看來 Firefox 的 Unicode 文字顯示策略,似有配合「小修」的必要。

聽起來應該是 Fx3 的問題才是…
Fx 對於 Unicode 的文字支援一直都很有進步的空間。


BTW,可以問一下老刀你的文章是否需要使用什麼特殊的輸入法嗎?

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