說明:特殊字母與符號
概述
[編輯]在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文檔將始終以windows-1252編碼保存,並且在載入時被轉換。此後編輯們的更新將作為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,正文文本為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編碼作為儲存和顯示編碼。但在編輯時,這些文字被轉換為容易以標準鍵盤編輯的格式。
有這種特性的字符有:Ĉ,Ĝ,Ĥ,Ĵ,Ŝ,Ŭ,ĉ,ĝ,ĥ,ĵ,ŝ,ŭ。你可以用特種鍵盤直接鍵入這些字符,不過保存後在編輯時你還是會看見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以上版本自帶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鏈接),谷歌製作的字體
應該正確顯示的字體 | 您瀏覽器顯示的字體 | 轉寫 |
---|---|---|
ᥖᥭᥰᥘᥫᥴ | 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