*** Welcome to piglix ***

Bush hid the facts


Bush hid the facts is a common name for a bug present in some versions of Microsoft Windows, which causes text encoded in ASCII, or supersets of ASCII such as a Windows code page, to be interpreted as if it were little-endian UTF-16 (UTF-16LE), resulting in mojibake. When the string "Bush hid the facts", without newline or quotes, was put in a new Notepad document and saved, closed, and reopened, the nonsensical Chinese characters "" would appear instead.

While "Bush hid the facts" is the sentence most commonly presented on the Internet to induce the error, the bug can be triggered by many strings with letters and spaces in the same positions, for example "hhhh hhh hhh hhhhh". Other sequences trigger the bug as well, including even the text "a ".

The bug occurs when the string is passed to the Win32 charset detection function IsTextUnicode with no other characters. IsTextUnicode sees that the bytes match the UTF-16LE encoding of valid (if nonsensical) Chinese Unicode characters, concludes that the text is valid UTF-16LE Chinese and returns true, and the application then incorrectly interprets the text as UTF-16LE.

The bug had existed since IsTextUnicode was introduced with Windows NT 3.5 in 1994, but was not discovered until early 2004. Many text editors and tools exhibit this behavior on Windows because they use IsTextUnicode as well. As of Windows Vista, Notepad has been modified to use a different algorithm for detecting Unicode strings that doesn't exhibit the bug, but IsTextUnicode remains unchanged in the operating system, so other tools may still be affected.

Several workarounds exist for this bug:


...
Wikipedia

...