Windows 7 – Fix Unicode Symbols Not Displaying

guiunicodewindows 7

For some strange reason, my computer suddenly doesn't show certain unicode characters anymore! I have no idea what happened.

Affected applications include Windows Explorer (should be Japanese characters), Google Chrome (should be a heart), and Winamp (should be stars):

unicode unicode enter image description here

Russian, German etc. characters are displayed normally. Chrome also displays Japanese script on websites, but not in the GUI. How can I fix it?

TL;DR: A workaround is to put a shortcut with a Unicode name on the desktop so that explorer.exe is the first process to display a Unicode string after booting.


Update: I have tried to use System Restore to fix it. I needed to go back in time quite a while because the most recent restore points didn't solve it so I used one from the middle of November. After that restore, Unicode symbols were displayed again. Then I updated my system with Windows Update again because those were removed during the restore. After that, the error occurred again! I then did a restore to a point before my new updates, but the error persists, and the old restore point (which I used before) is gone and there are currently no other snapshots of the system. Any suggestions on what to do now?

Update 2: I could find a workaround:

Control PanelRegion and LanguageAdministration → Change Language for Unicode-incompatible programs to Japanese (Japan).

All mentioned programs display their symbols correctly again. However, I don't consider this a fix because these programs are not usually Unicode-incompatible, and it also leads to some (non-serious) artifacts in some programs. I still welcome an answer that tells me what went wrong here and how to fix the issue.

Update 3: I think I have isolated the particular Windows Update which causes the error. It is Slow performance in applications that use the DirectWrite API on a computer that is running Windows 7 or Windows Server 2008 R2. I have installed all other updates except this one, and the error did not occur again.

Update 4: The true origin of this problem was Chrome, see accepted answer. Workaround: put shortcut with Unicode name on desktop so that explorer.exe is the first process to display a Unicode string after booting.

Best Answer

Found this interesting tidbit. It seems that this may have something to do with which application first tries to display a unicode character.

Long story short, I found this bug for Chromium and a comment in the discussion suggests that this is the case and provides a workaround of putting a unicode-named file on the Windows desktop to force Windows to be the first application to render a unicode character:

"Therefore, as a workaround for this issue, put a file named 火.txt or similar on your Windows Desktop. I suppose this causes Windows Explorer to be the first program to render a [unicode] character."

I tried this approach and sure enough, it worked for me -- without having to change the Language for Unicode incompatible programs."

Related Question