帮助:特殊字母与符号
维基百科使用手册 |
概述
在MediaWiki 1.5中,所有的项目都使用了Unicode(UTF-8)字符编码。如果你的操作系统和浏览器不支持Unicode(如网景浏览器或Mac版Internet Explorer),或者没有安装可以显示某些Unicode字符的字体,你将无法正确浏览、编辑带有这类字符的文章。典型的状况是:把不能显示的字符被显示成内有数字的小方框,编辑框内不能显示的字符被显示成一组组字符代码。本文章的下列章节会给出具体的介绍。
你可在在#显示和#相关字体的下载与安装这2章节找到有关的解决方案。
字符编码系统
到2005年6月底,当这个新的版本开始在维基媒体上使用时,英国、荷兰、丹麦和瑞典的维基百科已经使用了windows-1252编码(他们宣布用的是ISO-8859-1编码,但实际上浏览器把二者识别为同一种,而且Mediawiki并没有限制使用windows-1252的历史)。在数据库中准备升级的wiki文档将始终以windows-1252编码保存,并且在加载时转换。此后的更新将作为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的字符都对维基十分重要。非ASCII字符有几种方法输入:
- 使用编辑框下的特殊字符以插入文章,但有可能无法显示部分字符。
- 按住ALT键并从数字键区依次输入三位数输入EASCII字符,但超出EASCII范围的数字会转成SOH符号(U+0001)。
- 直接使用特种键盘、该语言的输入法或字符映射程序。在ISO-8859-1的维基将把字符集以外的字符转换为HTML数字字符实体(见下)。
- 使用HTML命名字符实体引用,比如
à
。这对于不同的字符集来说都能非常正确的表达指定字符,即使无法显示。不过可能引起搜索的困难(见下)。 - 使用HTML数字字符引用,比如
¡
。这是输入未命名实体Unicode值的唯一办法,比如土耳其字符。代码点128到159在ISO-8859-1和Unicode中都未使用,因此其间的字符引用是错误的,“非法的”,会引起多种问题。
总的来说,西欧语言一般不出现问题。
为了搜索的成功,特殊字符最好不用字符实体引用,否则搜索会出现问题。比如“Odiliënberg”,伺服器只会以“Odili”、“euml”或“nberg”进行搜索。这其实是个bug,应该被修正。参见:Help:搜索。
网页浏览器
有些网页浏览器会对编辑框里的文字作一些手脚。最常见的行为就是将文字转换为本地的编码形式。用户将不得不手动转换回来。这也常造成特殊字符变成问号(在某些浏览器变成了音译文字!)。
Internet Explorer
这种常见浏览器使用Mac OS Roman编码系统。它几乎把所有的Unicode字符变成问号,部分ISO-8859-1也不能幸免于难(特别是¤ ¦ ¹ ² ³ ¼ ½ ¾ Ð × Ý Þ ð ý þ 和软连字符,包括所有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}} | 提示读者该页面有特殊字母或符号 | |
{{Non-printing character}} | 提示读者该页面有非打印字符 | |
{{Burmese characters}} | 提示读者该页面有缅文字母 | |
{{Contains Arabic text}} | 提示读者该页面有阿拉伯文字 | |
{{谚文组字}} | 提示读者该页面有古谚文,需要谚文组字 | |
{{APLcode}} | 提示读者该页面有APL语言的原始码 |
查看
目前大多数网页浏览器都配备一定程度的Unicode编码字符支持,最常遇到的问题是,在Windows XP运行的网页浏览器依赖于注册表中的预配置字体链接,而不是实际搜索可检视相关字符的字体。这意味着网页浏览器通常不得不被迫检视特定的字体。维基百科有套模板可以做到这点,例如国际音标的{{{1}}}。Windows Glyph List 4中的内容在没有这些特殊措施的情况下应该可以安全使用。
- 显示特殊字符
要在网页显示Unicode或特殊字符,首先须在电脑安装Unicode编码字符的字体,然后设定浏览器、其扩充功能或附加组件。
Unicode编码字符支持通过安装可选的独立Windows 7更新包KB2729094进行扩展,可用于Microsoft下载中心的32位和64位版本的Windows 7 SP1。 Windows 8的这个反向端口通过在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样式。
用于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-加帽拼写”(参见:en:Esperanto orthography#The x-system)。如果想输入在这些字符或它们的不发音形式(A,G,H,J,S,U,c,g,h,j,s,u)后的“x”,则应输入显示出来的“x”两倍的“x”。
比如,世界语维基链接到en:Luxury car的跨语言链接,原始码是[[:en:Luxxury car]]。这曾造成跨维基机器人工作的问题。
下载安装字体
古代字母
- Windows
下载安装下列任何字体:
- Noto Sans Phoenician、Noto Sans Old Italic、Noto Sans Linear B
- Aegean
- Akkadian/Cuneiform
- Cardo
- MPH 2B Damase
- Code2001
- Junicode
- Linux
基于Debian的Linux(例如ubuntu和Linux Mint等)可通过Synaptic下载ttf-ancient-fonts
的deb包。
撒马利亚字母
要显示撒马利亚字母,请安装以下字体:
楔形文字
要显示苏美尔楔形文字,下载安装下列的任意一种字体:
安装这几种字体后firefox中能正常显示和编辑,不过IE和Chrome仅能正常显示楔形文字音节表,位于辅助多语言平面(SMP)内的U+12000—U+1236E 楔形文字(879个字符)和U+12400—U+12473 楔形文字数字和标点(103个字符)则无法显示。
古埃及圣书体
要显示古埃及圣书体,下载安装下列的字体:
奥斯曼亚字母和萧伯纳字母
古埃及象形文字
比如<hiero>A54</hiero>得到
|
。参见mw:Extension:WikiHiero/Syntax(警告:本页面含大量图像!部分浏览器可能会崩溃。)。
这与浏览器的编码系统无关,因为这是图像。
当然也可用Unicode来表示它们,不过对于Windows 10以前的版本,您需要安装“Noto Sans Egyptian Hieroglyphs”或“Aegyptus”以支持古埃及象形文字。
盲文
要显示盲文,从下列的链接下载安装字体:
婆罗米系文字
要显示婆罗米系文字,从下列的链接下载安装字体:
- 高棉文:Khmer Unicode Fonts
- 天城文:Devanagari Unicode Fonts
- 孟加拉文:Bengali Unicode Fonts
- 古吉拉特文:Gujarati Unicode Fonts
- 古木基文:Gurmukhi Unicode Fonts
- 缅文:Myanmar Unicode Fonts
- 奥里亚文:Oriya Unicode Fonts
- 泰卢固文:Telugu Unicode Fonts
- 卡纳达文:Kannada Unicode Fonts
- 僧伽罗文:Sinhala Unicode Fonts
- 马拉雅拉姆文:Malayalam Unicode Fonts
- 淡米尔文:Tamil Unicode Fonts
- 泰文:Thai Unicode Fonts、泰国国家字体、Noto Sans Thai
- 寮文:Lao Unicode Fonts
- 布吉文:Buginese Unicode Fonts、Noto Sans Buginese
- 藏文:Tibetan Unicode Fonts
- 悉昙文:Muktamsiddham、Noto Sans Siddham、ApSiddham(需要 Graphite 技术支持)
蒙古文、满文、锡伯文
Windows 7以上版本自带Mongolian Baiti也可以显示蒙古文、满文、锡伯文。
八思巴字
要显示八思巴字,从下列的链接下载安装字体:
旧式韩文/朝鲜文
西夏文和契丹小字
象雄文
显示象雄文(Marchen),从下列的链接下载安装字体:
傣那文
- GNU FreeFont
- Microsoft Tai Le(Windows字体,适用于Windows 7及以上版本)
- Noto Sans Tai Le (直接下载链接)、(GitHub链接),谷歌制作的字体
应该正确显示的字体 | 您浏览器显示的字体 | 转写 |
---|---|---|
ᥖᥭᥰᥘᥫᥴ | Tai Le ([tai˦.lə˧˥]) |
国际音标
有特殊字符的链接
当用户使用下划链接时,且链接有特殊字符时,结果可能有歧义。
链接 + - < > ⊂ ⊃ 得到 + - < > ⊂ ⊃,也许看起来像± = ≤ ≥ ⊆ ⊇。这样最好单独给出链接。
- A ⊂ B (见子集)
参见
外部链接
- 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