說明:特殊字母與符號
概述
編輯在MediaWiki 1.5中,所有的專案都使用了w:zh:Unicode(w:zh:UTF-8)字元編碼。如果你的作業系統和瀏覽器不支援Unicode(如w:zh:網景 (瀏覽器)或w:zh:Internet Explorer for Mac),或者沒有安裝可以顯示某些Unicode字元的字型,你將無法正確瀏覽、編輯帶有這類字元的文章。典型的狀況是:把不能顯示的字元被顯示成內有數字的小方框,編輯框內不能顯示的字元被顯示成一組組字元代碼。本文章的下列章節會給出具體的介紹。
你可在在w:zh:#顯示和w:zh:#相關字型的下載與安裝這2章節找到有關的解決方案。
字元編碼系統
編輯到w:zh:2005年w:zh:6月底,當這個新的版本開始在維基媒體上使用時,英國、荷蘭、丹麥和瑞典的維基百科已經使用了windows-1252編碼(他們宣佈他們使用的是w:zh:ISO-8859-1編碼,但實際上瀏覽器把二者辨識為同一種,而且Mediawiki並沒有限制使用windows-1252的歷史)。在數據庫中準備升級的wiki文件; 文档=>zh-mo:文件將始終以windows-1252編碼儲存; 保存=>zh-mo:儲存,並且在載入時被轉換。此後編輯們的更新將作為UTF-8編碼儲存在數據庫內。載入時轉換的過程對於用戶來說是不可見的。
- Unicode(UTF-8)
- 各字元位元組數可變
- 特殊字元,包括w:zh:中日韓統一表意文字,都可以在網頁和編輯框裏正常顯示。另外可以使用多字元代碼,且不會在編輯框裏被自動轉換。
- 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" />
編輯
編輯許多不在標準w:zh:ASCII表中的字元也許對維基十分重要。有四種方法輸入非ASCII字元:
- 使用編輯框下的特殊字元以插入文章。但有可能部分字元無法顯示。
- 按住ALT鍵並從數字鍵區依次輸入三位數輸入w:zh:EASCII字元,但超出EASCII範圍的數字會被轉換成SOH符號(U+0001)。
- 直接使用特種鍵盤、w:zh:輸入法,或者字元對映程式。在ISO-8859-1的維基將把字元集以外的字元轉換為HTML數字字元實體(見下)。
- 使用HTML命名字元實體參照,比如
à
。這對於不同的字元集來說都能非常正確的表達指定字元,即使無法顯示。不過可能引起搜尋的困難(見下)。 - 使用HTML數字字元參照,比如
¡
。這是輸入未命名實體Unicode值的唯一辦法,比如土耳其字元。代碼點128到159在w:zh:ISO-8859-1和w:zh:Unicode中都未使用,因此其間的字元參照是錯誤的,「非法的」,會引起多種問題。
總的來說,西歐語言一般不出現問題。
為了搜尋的成功,特殊字元最好不用字元實體參照,否則搜尋會出現問題。比如「Odiliënberg」,伺服器只會以「Odili」、「euml」或「nberg」進行搜尋。這其實是個bug,應該被修正。參見:w:zh:Help:搜尋。
網頁瀏覽器
編輯有些網頁瀏覽器會對編輯框裏的文字作一些手腳。最常見的行為就是將文字轉換為原生的編碼形式。用戶將不得不手動轉換回來。這也常造成特殊字元變成問號(在某些瀏覽器變成了音譯文字!)。
Internet Explorer
編輯這種常見瀏覽器使用Mac OS Roman編碼系統。它幾乎把所有的Unicode字元變成問號,部分ISO-8859-1也不能倖免於難(特別是¤ ¦ ¹ ² ³ ¼ ½ ¾ Ð × Ý Þ ð ý þ 和軟連字元,包括所有w:zh:Extended ASCII中編號161到255的字元)。所以用它瀏覽維基百科會造成極大的不便。
Netscape 4
編輯問題與上者類似。
工作區
編輯正常瀏覽器: 數據庫和編輯框 |
異常瀏覽器: 編輯框 |
œ | œ |
œ | œ |
œ | œ |
在英文維基變為UTF-8之後,跨維基機械人就開始替換HTML實體為Unicode字元,但對於有些瀏覽器來說,不正常的Unicode字元越來越多。工作區就是為此設計,以保證那些瀏覽器能安全的進行編輯,當然僅當Mediawiki知道哪些瀏覽器是有問題的。
列在$wgBrowserBlackList(一組正則表達式,匹配User-Agent字串)的瀏覽器被提供一個特別的編輯框。十六進制HTML實體有多餘的前導0,非ASCII字元在編輯框顯示為無前導0的十六進制HTML實體。
當前IE Mac和一些版本的Linux Netscape 4.x瀏覽器在黑名單之中,不過這能解決一些問題。
模板
編輯為了請讀者注意頁面中含有特殊字元,可以使用下列模板:
代碼 | 說明 | 效果 |
---|---|---|
{{Special characters}} | 提示讀者該頁面中含有特殊字母或符號 | Template:Special characters |
{{Non-printing character}} | 提示讀者該頁面中含有非列印字元 | Template:Non-printing character |
{{Burmese characters}} | 提示讀者該頁面中含有緬文字母 | Template:Burmese characters |
{{Contains Arabic text}} | 提示讀者該頁面中含有w:zh:阿拉伯文字 | Template:Contains Arabic text |
{{諺文組字}} | 提示讀者該頁面中含有w:zh:古諺文,需要諺文組字 | Template:諺文組字 |
檢視
編輯目前大多數網頁瀏覽器都配備一定程度的Unicode編碼字元支援,最常遇到的問題是,在Microsoft Windows XP上執行的網頁瀏覽器依賴於登錄檔中的預組態字型連結,而不是實際搜尋可檢視相關字元的字型。這意味着網頁瀏覽器通常不得不被迫檢視特定的字型。在維基百科上有一套模板可以做到這一點,例如國際音標的Template:IPA。Windows Glyph List 4中的內容在沒有這些特殊措施的情況下應該可以安全使用。
- 顯示特殊字元
要在網頁上顯示Unicode或特殊字元,首先需要在您的電腦上顯示或安裝一個或多個Unicode編碼字元的字型。為了實現正常的工作功能,還需要修改瀏覽器軟件、擴充功能或附加元件的設置。
Unicode編碼字元支援通過安裝可選的獨立Microsoft Windows 7更新包KB2729094進行擴充,可用於Microsoft下載中心的32位元和64位元版本的Microsoft Windows 7 SP1。 Microsoft Windows 8的這個反向埠通過在Microsoft Windows 7中添加對Emoji(表情符號)和其他符號的瀏覽器支援來更新Segoe UI字型。
使用Konqueror、Opera、Safari和其他基於Chromium開源專案的大多數瀏覽器時,特殊符號應該可以正確顯示,而不必進一步組態。在遵循先前提到的步驟之後,為了更好(和正確)顯示具有連字形式的字元,組合字元的可選步驟是安裝彩現引擎軟件。
要使用一種可用的Unicode字型在表格或圖表或框中顯示特殊字元,請指定class="Unicode"
在表的TR行標記中(或者每個TD標記中,但每個TR中使用它比在每個TD中使用它更容易),於維基表代碼使用時則在(TR等值)之後使用|-
(例如|- class ="Unicode"
)。
為了顯示單個特殊字元,可以在char的位置使用HTML十進制或十六進制數字實體代碼。如果需要顯示具有許多特殊Unicode字元的段落,可以使用<p class="Unicode">
……</p>
或<span class="Unicode">
……</span>
。
class="Unicode"
用於網頁和頁面、HTML或維基標籤,其中各種各樣的Unicode編碼字元的各種字元需要被顯示。如果需要在網頁上顯示的特殊字元大部分覆蓋較少的與拉丁指令碼有關的Unicode編碼字元,可以使用class="latinx"
。對於與國際音標有關的特殊字元或符號,可以使用class="IPA"
。對於polytonic (Greek)字元或相關符號,可以使用class="polytonic"
。
- 更改預設字型
Google Chrome允許用戶為普通,襯線,無襯線和等寬顯示模式設置預設字型。使用當前在系統上安裝的任何字型。若要存取此設置,請點擊設置,並選擇顯示進階設置,然後進入自訂字型。您可以在這裏可以選擇系統中的任何字型作為預設值。
注意:根據頁面元素,許多網站(包括維基媒體)預設為serif或sans-serif字型(例如標題可能預設為serif,正文文字; 文本=>zh-mo:文字為sans serif),因此如果您希望覆蓋並強制這個某種字型,需要使用自訂CSS樣式。
用於Microsoft Windows的舊版Internet Explorer中的拉丁指令碼的預設字型是Times New Roman。較早版本的字型不包含許多Unicode編碼字元。要在Internet Explorer中正確檢視特殊字元,必須將字型更改,例如免費提供的TITUS Cyberbit Basic和GNU Unifont。
請點擊從IE選單欄並選擇工具,然後點擊Internet選項並選擇不同的網頁字型顯示特殊字元,例如Lucida Sans Unicode。
Firefox必須更改預設設置。要做到這一點,請點擊選單,並選擇更多,然後進入文字編碼。取消選中預設框允許頁面以選擇其自己的字型,然後在預設字元編碼框中選擇一個Unicode選項(例如Unicode (UTF-32BE)或Arabic (ISO-8859-6))。另一種方法是將字型切換為Arial Unicode MS,然後可以選中預設框。
世界語
編輯在編輯框 | 在數據庫和輸出 |
S | S |
Sx | Ŝ |
Sxx | Sx |
Sxxx | Ŝx |
Sxxxx | Sxx |
Sxxxxx | Ŝxx |
Mediawiki軟件可以設置世界語使用UTF-8編碼作為儲存和顯示編碼。但在編輯時,這些文字被轉換為容易以標準鍵盤編輯的格式。
有這種特性的字元有:Ĉ,Ĝ,Ĥ,Ĵ,Ŝ,Ŭ,ĉ,ĝ,ĥ,ĵ,ŝ,ŭ。你可以用特種鍵盤直接鍵入這些字元,不過儲存; 保存=>zh-mo:儲存後在編輯時你還是會看見Sx。這叫做「x-加帽拼寫」(參見:w:zh::en:Esperanto orthography#The x-system)。如果想輸入在這些字元或它們的不發音形式(A,G,H,J,S,U,c,g,h,j,s,u)後的「x」,則應輸入顯示出來的「x」兩倍的「x」。
比如,世界語維基連結到w:zh::en:Luxury car的跨語言連結,原始碼是[[w:zh::en:Luxxury car]]。這曾造成跨維基機械人工作的問題。
相關字型的下載與安裝
編輯古代字母
編輯古代字母在這裏包括:w:zh:腓尼基字母、w:zh:古意大利字母、w:zh:線形文字B。
- Microsoft Windows
下載安裝下列的任意一種字型:
- Noto Sans Phoenician、Noto Sans Old Italic、Noto Sans Linear B
- Aegean
- Akkadian/Cuneiform
- Cardo
- MPH 2B Damase
- Code2001
- Junicode
- Linux
基於w:zh:Debian的w:zh:Linux(例如ubuntu和Linux Mint等)可通過w:zh:Synaptic下載ttf-ancient-fonts
的deb包。
楔形文字
編輯要顯示蘇美爾w:zh:楔形文字,下載安裝下列的任意一種字型:
安裝這幾種字型後firefox中能正常顯示和編輯,不過IE和Chrome僅能正常顯示楔形文字音節表,位於輔助多語言平面(SMP)內的U+12000—U+1236E 楔形文字(879個字元)和U+12400—U+12473 楔形文字數字和標點(103個字元)則無法顯示。
古埃及聖書體
編輯要顯示古埃及w:zh:聖書體,下載安裝下列的字型:
奧斯曼亞字母和蕭伯納字母
編輯要顯示w:zh:奧斯曼亞字母和w:zh:蕭伯納字母,下載安裝下列的字型:
古埃及象形文字
編輯比如<hiero>A54</hiero>得到
|
。參見w:zh:mw:Extension:WikiHiero/Syntax(警告:本頁面含大量圖像!部分瀏覽器可能會崩潰。)。
這與瀏覽器的編碼系統無關,因為這是圖像。
當然也可用Unicode來表示它們,不過對於Windows 10以前的版本,您需要安裝「Noto Sans Egyptian Hieroglyphs」或「Aegyptus」以支援古埃及象形文字。
盲文
編輯要顯示w:zh:盲文,從下列的連結下載安裝字型:
婆羅米系文字
編輯要顯示w:zh:婆羅米系文字,從下列的連結下載安裝字型:
- w:zh:高棉文:Khmer Unicode Fonts
- w:zh:天城文:Devanagari Unicode Fonts
- w:zh:孟加拉文:Bengali Unicode Fonts
- w:zh:古吉拉特文:Gujarati Unicode Fonts
- w:zh:古木基文:Gurmukhi Unicode Fonts
- w:zh:緬文:Myanmar Unicode Fonts
- w:zh:奧里亞文:Oriya Unicode Fonts
- w:zh:泰盧固文:Telugu Unicode Fonts
- w:zh:卡納達文:Kannada Unicode Fonts
- w:zh:僧伽羅文:Sinhala Unicode Fonts
- w:zh:馬拉雅拉姆文:Malayalam Unicode Fonts
- w:zh:泰米爾文:Tamil Unicode Fonts
- w:zh:泰文:Thai Unicode Fonts、w:zh:泰國國家字型、Noto Sans Thai
- w:zh:老撾文:Lao Unicode Fonts
- Template:Link-en:Buginese Unicode Fonts、Noto Sans Buginese
- w:zh:藏文:Tibetan Unicode Fonts
- w:zh:悉曇文:Muktamsiddham、Noto Sans Siddham、ApSiddham(需要 w:zh:Graphite 技術支援)
蒙古文、滿文、錫伯文
編輯要顯示w:zh:蒙古文、w:zh:滿文、w:zh:錫伯文,從下列的連結下載安裝字型:
Windows 7以上版本內建; 自带=>zh-mo:內建Mongolian Baiti也可以顯示蒙古文、滿文、錫伯文。
八思巴字
編輯要顯示w:zh:八思巴字,從下列的連結下載安裝字型:
舊式韓文/朝鮮文
編輯西夏文
編輯要顯示w:zh:西夏文,從下列的連結下載安裝字型:
象雄文
編輯顯示w:zh:象雄文(Marchen),從下列的連結下載安裝字型:
德宏傣文
編輯Template:Incubator w:zh:德宏傣文在w:zh:德宏傣語中使用,支援以下字型顯示:
- GNU FreeFont
- Microsoft Tai Le(Microsoft Windows字型,適用於Windows 7及以上版本)
- Noto Sans Tai Le (直接下載連結)、(GitHub連結),Google; 谷歌=>zh-mo:Google製作的字型
應該正確顯示的字型 | 您瀏覽器顯示的字型 | 轉寫 |
---|---|---|
ᥖᥭᥰᥘᥫᥴ | Tai Le (Template:IPA) |
國際音標
編輯參見w:zh:國際音標#字體。
有特殊字元的連結
編輯當用戶使用下劃連結時,且連結有特殊字元時,結果可能有歧義。
連結 + - < > ⊂ ⊃ 得到 + - < > ⊂ ⊃,也許看起來像± = ≤ ≥ ⊆ ⊇。這樣最好單獨給出連結。
- A ⊂ B (見w:zh:子集)
參見
編輯外部連結
編輯- http://www.unicode.org/charts/ Unicode字元表,僅十六進制數,PDF檔案顯示所有瀏覽器不能顯示的字元(英文)。
- http://www.unicode.org/help/display_problems.html 在大多數平台上啟用Unicode的幫助(英文)。
- 0到65535Unicode字元,十進制。
- HTML 4.0 Character Entity References—shows how the named and decimal character references look in one's browser
- FileFormat.Info—details of many Unicode characters, including the named, decimal and hexadecimal character reference, showing how it should look and for each, how it looks in one's browser
- Alan Wood's Unicode resources—comprehensive resource with character test pages for all Unicode ranges, as well as OS-specific Unicode support information and links to fonts and utilities
- CharacterPal—Free Mac OS X Dashboard Widget that displays key combinations for special characters
- A converter that helps one find the right escape sequence to use—helps when one needs to escape ASCII/Unicode characters that are special characters in wiki markup