"使用說明:特殊字符" 修訂間的差異

出自 房屋百科
前往: 導覽搜尋
(新页面: <div class="boilerplate metadata" style="background-color: #f3f9ff; margin: 1em 2.5% 0 2.5%; padding: 0 10px; border: 1px solid #aaa;">'''技術問題:'''<small>由於一些技術限制...)
 
(無差異)

於 2008年9月2日 (二) 22:13 的最新修訂


字符編碼系統

在維基中,所有的項目都使用了Unicode(UTF-8)字符編碼。

  • Unicode(UTF-8)
    • 各字符字節數可變
    • 特殊字符,包括中日韓統一表意文字,都可以在網頁和編輯框里正常顯示。另外可以使用多字符代碼,且不會在編輯框里被自動轉換。
  • ISO 8859-1
    • 各字符僅一字節
    • 在此字符集中不可用的特殊字符以多字符代碼形式儲存,它們通常有兩到三個等價表示,例如:€,可表示為€,或€,或€。
    • 包含最常見的特殊字符,比如é,也可表示為é,但這樣沒必要。

注意到Special:Export輸出時使用UTF-8,無論數據庫使用的是哪種編碼。

若想了解某維基使用的編碼系統,打開瀏覽器的「察看源代碼」,找到類似字符:

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

編輯

許多不在標准ASCII表中的字符也許對維基十分重要。有四種方法輸入非ASCII字符:

  • 使用編輯框下的特殊字符以插入文章。但有可能部分字符無法顯示。
  • 直接使用特種鍵盤,或者由系統提供的字符映射程序。在ISO-8859-1的維基將把字符集以外的字符轉換為HTML數字字符實體(見下)。
  • 使用HTML命名字符實體引用,比如à。這對於不同的字符集來說都能非常正確的表達指定字符,即使無法顯示。不過可能引起搜索的困難(見下)。
  • 使用HTML數字字符引用,比如¡。這是輸入未命名實體Unicode值的唯一辦法,比如土耳其字符。代碼點128到159在ISO-8859-1和Unicode中都未使用,因此其間的字符引用是錯誤的,「非法的」,會引起多種問題。

總的來說,西歐語言一般不出現問題。

為了搜索的成功,特殊字符最好不用字符實體引用,否則搜索會出現問題。比如「Odiliënberg」,服務器只會以「Odili」、「euml」或「nberg」進行搜索。這其實是個bug,應該被修正。參見:Help:搜索

世界語

在編輯框在數據庫和輸出
SS
SxŜ
SxxSx
SxxxŜx
SxxxxSxx
SxxxxxŜxx

Mediawiki軟件可以設置世界語使用UTF-8編碼作為儲存和顯示編碼。但在編輯時,這些文字被轉換為容易以標准鍵盤編輯的格式。

有這種特性的字符有:Ĉ,Ĝ,Ĥ,Ĵ,Ŝ,Ŭ,ĉ,ĝ,ĥ,ĵ,ŝ,ŭ。你可以用特種鍵盤直接鍵入這些字符,不過保存後在編輯時你還是會看見Sx。這叫做「x-加帽拼寫」。如果想輸入在這些字符或它們的不發音形式(A,G,H,J,S,U,c,g,h,j,s,u)後的「x」,則應輸入顯示出來的「x」兩倍的「x」。


瀏覽器

有些瀏覽器會對編輯框里的文字作一些手腳。最常見的行為就是將文字轉換為本地的編碼形式。用戶將不得不手動轉換回來。這也常造成特殊字符變成問號(在某些瀏覽器變成了音譯文字!)。

Mac的IE

這種常見瀏覽器使用Mac OS Roman編碼系統。它幾乎把所有的Unicode字符變成問號,部分ISO-8859-1也不能幸免遇難(特別是¤ ¦ ¹ ² ³ ¼ ½ ¾ Ð × Ý Þ ð ý þ 和軟連字符)。所以用它瀏覽維基百科會造成極大的不便。

Netscape 4.x

問題與上者類似。

工作區

</tr>
正常瀏覽器:
數據庫和編輯框
異常瀏覽器:
編輯框
œœ
œœ
œœ

在英文維基變為UTF-8之後,跨維基機器人就開始替換HTML實體為Unicode字符,但對於有些瀏覽器來說,不正常的Unicode字符越來越多。工作區就是為此設計,以保證那些瀏覽器能安全的進行編輯,當然僅當Mediawiki知道哪些瀏覽器是有問題的。

列在$wgBrowserBlackList(一組正則表達式,匹配User-Agent字符串)的瀏覽器被提供一個特別的編輯框。十六進制HTML實體有多餘的前導0,非ASCII字符在編輯框顯示為無前導0的十六進制HTML實體。

當前IE Mac和一些版本的Linux Netscape 4.x瀏覽器在黑名單之中,不過這能解決一些問題。

瀏覽

各種瀏覽器對Unicode的支持程度參差不齊。其中一個問題便是,IE對字體的處理是:使用在注冊表中的設置,卻不對可能顯示成問號的字符的字體進行搜索。這就造成IE有時必須使用特定字體。在Windows象形文字列表中的字符能夠不用特殊手段安全使用。

<font face="Arial Unicode MS">...</font>可能只在用戶有這種字體時才正常顯示。

古埃及象形文字

比如<hiero>P2</hiero>得到<hiero>P2</hiero>。

這與瀏覽器的編碼系統無關,因為這是圖像。

當然也可用Unicode來表示它們,不過幾乎沒有瀏覽器支持。

有特殊字符的鏈接

當用戶使用下劃鏈接時,且鏈接有特殊字符時,結果可能有歧義。

鏈接 + − < > ⊂ ⊃ 得到 + − < > ⊂ ⊃,也許看起來像± = ≤ ≥ ⊆ ⊇。這樣最好單獨給出鏈接。

參見

外部鏈接