The
replacement character � (often displayed as a
rhombus with a question mark) is a symbol found in the
Unicode standard at code point U+FFFD in the
Specials table. It is used to indicate problems when a system is unable to render a stream of data to correct symbols. As an example, a text file encoded in
ISO 8859-1 containing the German word contains the bytes . If this file is opened with a text editor that assumes the input is
UTF-8, the first and third bytes are valid UTF-8 encodings of
ASCII, but the second byte (0xFC) is not valid in UTF-8. The text editor could replace this byte with the replacement character to produce a valid string of Unicode code points for display, so the user sees . A poorly implemented text editor might write out the replacement character () when the user saves the file; the data in the file will then become . If the file is re-opened using ISO 8859-1, it will display f�r (this is called
mojibake). As the editor likely turns different errors into the same replacement character, it is also impossible to recover the original text. At one time the replacement character was often used when there was no glyph available in a font for that character, as in
font substitution. However, most modern text rendering systems instead use a font's character, which in most cases is an empty box, or a ? or X in a box (this browser displays for U+10FFEE), sometimes called a "
tofu". There is no Unicode code point for this symbol. Thus the replacement character is now only seen for encoding errors. Some software programs translate invalid UTF-8 bytes to matching characters in
Windows-1252 (since that is the most common source of these errors), so that the replacement character is never seen. == Unicode chart ==