Misplaced Pages

:Special characters - Misplaced Pages

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Hannes Hirzel (talk | contribs) at 11:34, 21 September 2001. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 11:34, 21 September 2001 by Hannes Hirzel (talk | contribs)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Many characters not in the repertoire of standard ASCII will be useful--even necessary--for Wiki pages, especially the international pages. This page contains my recommendations for which characters are safe to use and how to use them. There are three ways to enter a non-ASCII character into a Wiki page:


  • Enter the character directly from a foreign keyboard, or by cut and paste from a "character map" type application, or by some special means provided by the operating system or text editing application. The web server should then be configured to announce which 8-bit character set is being used.
  • Use an HTML named character entity reference like à. This is the most reliable method, and is unambiguous even when the server does not announce the use of any special characer set, and even when the character does not display properly on some browsers.
  • Use an HTML numeric character entity reference like ¡. This is not recommended, because many browsers incorrectly interpret these as references to the native character set. It is, however, the only way to enter Unicode values for which there is no named entity, such as the /Turkish letters. Note that because the code points 128 to 159 are unused in both ISO-8859-1 and Unicode, character references in that range such as ƒ are illegal and ambiguous, though they are commonly used by many web sites.


Generally speaking, Western European languages such as Spanish, French, and German pose few problems. For specific details about other langauges, see: /Turkish (more will be added to this list as contributors in other languages appear).


ISO-8859-1 Characters


The following extended ASCII characters are safe for use in all Wiki pages. The table below lists the code for each character in hexadecimal and decimal, shows the character itself, shows the HTML entity name, and the common name of the character.


 Hex   Dec     Entity    Character
00A0  0160          no-break space
00A1  0161    ¡   inverted exclamation
00A2  0162    ¢    cent sign
00A3  0163    £   pound sign
00A4  0164    ¤  intl. currency sign
00A5  0165    ¥     yen sign
00A7  0167    §    section sign
00A8  0168    ¨     diaeresis (umlaut)
00A9  0169    ©    copyright sign
00AA  0170    ª    feminine ordinal
00AB  0171    «   left double-angle quote
00AC  0172    ¬     not sign
00AE  0174    ®     registered trademark sign
00AF  0175    ¯    macron
00B0  0176    °     degree sign
00B1  0177    ±  plus-minus sign
00B4  0180    ´   acute accent
00B5  0181    µ   micro sign
00B6  0182    ¶    ] (paragraph) sign
00B7  0183    ·  middle dot (Georgian comma)
00B8  0184    ¸   cedilla
00BA  0186    º    masculine ordinal
00BB  0187    »   right double-angle quote
00BF  0191    ¿  inverted question
00C0  0192    À  A grave
00C1  0193    Á  A acute
00C2  0194    Â   A circumflex
00C3  0195    Ã  A tilde
00C4  0196    Ä    A diaeresis
00C5  0197    Å   A ring
00C6  0198    Æ   AE ligature
00C7  0199    Ç  C cedilla
00C8  0200    È  E grave
00C9  0201    É  E acute
00CA  0202    Ê   E circumflex
00CB  0203    Ë    E diaeresis
00CC  0204    Ì  I grave
00CD  0205    Í  I acute
00CE  0206    Î   I circumflex
00CF  0207    Ï    I diaeresis
00D1  0209    Ñ  N tilde
00D2  0210    Ò  O grave
00D3  0211    Ó  O acute
00D4  0212    Ô   O circumflex
00D5  0213    Õ  O tilde
00D6  0214    Ö    O diaeresis
00D8  0216    Ø  O stroke
00D9  0217    Ù  U grave
00DA  0218    Ú  U acute
00DB  0219    Û   U circumflex
00DC  0220    Ü    U diaeresis
00DF  0223    ß   sharp s (ess-zed)
00E0  0224    à  a grave
00E1  0225    á  a acute
00E2  0226    â   a circumflex
00E3  0227    ã  a tilde
00E4  0228    ä    a diaeresis
00E5  0229    å   a ring
00E6  0230    æ   ae ligature
00E7  0231    ç  c cedilla
00E8  0232    è  e grave
00E9  0233    é  e acute
00EA  0234    ê   e circumflex
00EB  0235    ë    e diaeresis
00EC  0236    ì  i grave
00ED  0237    í  i acute
00EE  0238    î   i circumflex
00EF  0239    ï    i diaeresis
00F1  0241    ñ  n tilde
00F2  0242    ò  o grave
00F3  0243    ó  o acute
00F4  0244    ô   o circumflex
00F5  0245    õ  o tilde
00F6  0246    ö    o diaeresis
00F7  0247    ÷  divide sign
00F8  0248    ø  o stroke
00F9  0249    ù  u grave
00FA  0250    ú  u acute
00FB  0251    û   u circumflex
00FC  0252    ü    u diaeresis
00FF  0255  ?  ÿ    y diaeresis


These characters are a subset of the most common extended ASCII character set in use on the Internet, ISO 8859-1. Misplaced Pages pages are identified by the server as containing ISO-8859-1 text. The characters above are a subset selected to improve compatibility with other machines.


For example, the Apple Macintosh is in common use on the Internet, is not limited to any specific language, and its native character set (which is not ISO-8859-1) contains many of the common international characters. Many Macintosh browsers will correctly translate ISO text into the native character set, as long as the characters used are available. So the table above is the subset of ISO-8859-1 characters that are also available on the native Macintosh character set. Microsoft Windows standard code page 1252 set is a superset of ISO-8859-1, so these characters will be readable as is on Windows machines. The most common Latin character sets other than ISO-8859-1 are MS-DOS (pre-Windows) code page 437, Macintosh Roman, and other ISO sets such as ISO-8859-2. The number of pre-Windows MS-DOS machines with web browsers is small and they are often dedicated-purpose machines that wouldn't be using Misplaced Pages anyway, so it is reasonably safe to sacrifice compatibility with them for the sake of needed foreign characters. Other ISO sets are generally intended to be read by other browsers using those same sets in the same country, and so those pages should use a language-specific set.


These characters can be entered either as HTML named character entity references such as à, directly from foreign keyboards, or with whatever facilities are available to the Wiki author for entering these characters. For example, Wiki authors using Windows machines can enter these by holding down the Alt key while typing the 4-digit decimal code of the character on the numeric pad of the keyboard. It is important that all 4 digits (including the leading 0) be typed; typing a 3-digit code will enter characters from the obsolete code page 437. Wiki authors using Macintosh machines should take care to either use special facilities to enter these in ISO-8859-1 format rather than with the native character set, or else use HTML named character entity references. Note that some Windows users may have trouble with versions of Microsoft Internet Explorer that use "Alt-Left-Arrow" and "Alt-Right-Arrow" for page movement. These will interfere with entering codes that contain the digits 4 and 6. Use HTML named character entity references in this case.


The characters from the table above can be used directly as 8-bit characters in all Wiki pages, and are sufficient for all pages primarily in English, Spanish, French, German, and languages that require no more special characters than those (such as Catalan). Despite their general safety, at this time, it is not possible to use these characters in Wiki page titles in the English Misplaced Pages, though some of the International Wikipedias are configured to allow them.


Unsafe characters


Note especially what is missing here from the full ISO-8859-1 set: The broken bar (0166=¦), soft hyphen (0173=­), superscript digits (0178=², 0179=³), vulgar fractions (0188=¼, 0189=½, 0190=¾), Old English eth and thorn (0208=Ð, 0240=ð, 0222=Þ, 0254=þ), and multiply sign (0215=×). These should be considered unsafe (and adequate substitutes are available for most of them).


Special care should be taken with characters that do exist in the native character set of popular machines but not in the above set. These are not safe, even though they may display correctly to you when you use them. Characters from Windows code page 1252 not in ISO-8859-1 include the euro sign (€), dagger and double dagger (†, ‡), bullet (•), trade mark sign (™), typeset-style punctuation (see below), per mille sign (‰), some Eastern European caron-accented letters, and the oe ligatures. Characters from the Macintosh Roman set not in ISO-8859-1 include dagger and double dagger, bullet, trade mark sign, a few math symbols such as infinity (∞) and not equal (≠), a few commonly-used Greek letters such as pi (π), ligatures like oe and fl, typeset-style punctuation, per mille sign, and lone accents such as the breve, onogek, and caron.


HTML 4.0 defines named character entities for some Latin characters not in ISO-8859-1 that are used by popular languages, such as OE ligature (Œ, œ), uppercase Y with diaeresis (Ÿ), and some Eastern European accented characters like š. These are also unsafe, though if they entered as HTML named character entity references, they may display on some machines.


In short, don't assume that it is safe to use a special character just because it looks correct on your machine. Use the ones from the table above, and read and understand how to use others shown below.


Possibly usable non-ISO characters


Some characters not listed as safe above may still be usable when entered as named HTML character entity references, because web browsers will recognize them and render them correctly, perhaps by switching to alternate fonts as needed. All of these should be considered less safe to use than those above, but only in the sense that they may not display properly, though in the form of HTML character entity references they are unambiguous, and preserve data integrity.


For many of these, adequate substitutes and workarounds are available, and should be used when the value of making the text available to users of older computers and software exceeds the value of good presentation to those with newer software (in the judgment of the author or editor).


Typeset-style Punctuation


Absent from the ISO-8859-1 character set, but commonly used and present in both Macintosh Roman and Windows code page 1252 character sets, are proper English quotation marks and dashes. These can be entered as character entity references, and should appear correctly on most machines running recent software. Even on ISO-based machines such as Unix/X, browsers should be able to interpret these references and make appropriate substitutes using plain ASCII straight quotes and hyphens (Mozilla does this correctly, for example). These references were not present in older versions of HTML, so may not be recognized by older software. Since using these characters maintains data integrity even on those machines that may not display them correctly, it should be considered safe to use these unless proper display on old software is critical. German "low-9" quotation marks are a similar case, but are less commonly translated by browsing software, and so are not quite as safe. The table below shows these characters next to a capital letter "O" for better visibility:


‘O  ‘  left single quote     —O  —  em dash
’O  ’  right sigle quote     –O  –  en dash
“O  “  left double quote     ‚O  ‚  single low-9 quote
”O  ”  right double quote    „O  „  double low-9 quote


Many web sites targeted for a Windows-using audience use code page 1252 references for these characters: for example, using — for the em dash. This is not a recommended practice. To ensure future data integrity and maximum compatibility, recode these as named references such as —.


Greek letters and math symbols


Web standards for writing about mathematics are very recent (in fact MathML 2.0 was just released in February of 2001), so many browsers made before these standards were in place try to compensate by at least allowing characters commonly used in mathematics, including most of the Greek alphabet. These are necessarily entered as character entity references. Browsers often render these by switching to a "Symbol" font or something similar.


Upper- and lowercase Greek letters simply use their full names for character entities. These should, of course, only be used for occasional Greek letters in primarily-Latin text. Actual Greek-language text should be written using a Greek character set to avoid bloated files and slow response. Here are a few samples:


α  α      Γ  Γ
β  β       Λ  Λ
γ  γ      Σ  Σ
π  π         Π  Π
σ  σ      Ω  Ω
ς  ς ("final" sigma, lowercase only)


Other common math symbols:


≠  ≠         ′  ′
≤  ≤         ″  ″
≥  ≥         ∂  ∂
≡  ≡      ∫  ∫
≈  ≈      ∑  ∑
∞  ∞      ∏  ∏
√  √


Many of the symbols in the Windows "Symbol" font commonly used for rendering mathematics (such as the expandable bracket parts) are not present on most other machines, and not even present in Unicode 3.1 or as HTML named entities (though they are planned for Unicode 3.2). These are used by products such as TtH to reder equations. You should be aware that if you use these symbols, you are restricting your audience to Windows users (whether or not that's acceptable is a judgment you will have to make as an author).


Other common symbols


Some characters such as the bullet, euro currency sign, and trade mark sign are special cases. They are likely to be understood and rendered in some way by many browsers. Because they are important for international trade, many computers specifically add them to fonts at some non-standard location and render them when requested, or else render them in special ways that don't require them to be present in a font. See below for how your browser renders these:


•  •    bullet
€  €    euro currency sign
™  ™   trade mark sign


Other somewhat less commonly used symbols include these:


†  †  dagger             ♠  ♠  black spade suit
‡  ‡  double dagger      ♣  ♣   black club suit
◊  ◊     lozenge            ♥  ♥  black heart suit
‰  ‰  per mille sign     ♦  ♦   black diamond suit
←  ←    leftward arrow     ‹  ‹  single left-pointing angle quote
↑  ↑    upward arrow       ›  ›  single right-pointing angle quote
→  →    rightward arrow
↓  ↓    downward arrow


These should be considered unsafe to use except perhaps on pages intended for a specific audience likely to have very up-to-date software on popular machines.


Unicode


The Unicode character encoding UCS-4 is the official character encoding of HTML 4.0. Many browsers, though, are only capable of displaying a small subset of the full UCS-4 repertoire. For example, the codes Й ק م display on your browser as Й, ק, and م, which ideally look like the Cyrillic letter "Short I", the Hebrew letter "Qof", and the Arabic letter "Meem", respectively. It is unlikely that your computer has all of those fonts and will display them all correctly, though it may display a subset of them. Because they are encoded according to the standard, though, they will display correctly on any system that is compliant and does have the characters available. Numeric character entity references are the only way to enter these characters into a Wiki page at present. Note that encoding them using decimal rather than hexadecimal (e.g. Й instead of Й) will increase the number of browsers on which they will work.


see also Unicode and HTML for character entities tables.


/Windows


/Talk