Fix ERROR_UNDEFINED_CHARACTER (0x00000247) – Unicode character not found
This error means your system can't display a specific Unicode character—usually because of a missing font or broken code page. I'll show you how to track it down and fix it.
Quick answer
Run sfc /scannow in an admin command prompt, then install the missing font or change your system locale to the correct code page. If that doesn't work, check the registry for a corrupted CodePage value.
Why this happens
I see this error mostly in two places: when an app tries to render a character the current font doesn't support, or when the system's code page registry gets corrupted after a failed Windows update or a language pack install. Had a client last month whose entire print queue died because a PDF embedded a rare Unicode glyph (U+1F600) that their older printer driver couldn't handle. The error code 0x00000247 is Windows telling you "I don't know what this character is." It's not a hardware problem—it's a font or encoding mapping issue.
The real fix depends on where the error shows up. If it's in a specific app, it's almost always a missing font. If it's system-wide (like in file names or the Start menu), you're looking at a corrupted code page or locale setting.
How to fix ERROR_UNDEFINED_CHARACTER (0x00000247)
Step 1: Run System File Checker
Start with this because it's fast and catches corrupted system files that mess up Unicode support.
- Open Command Prompt as administrator (right-click Start > Windows Terminal (Admin)).
- Type
sfc /scannowand hit Enter. - Let it finish. If it finds corrupted files, reboot and re-run to verify.
If that doesn't fix it, move on.
Step 2: Check for missing fonts
The most common cause. If you're getting this error in a document, email, or a specific program, the font you're using is missing a glyph.
- Open the file that triggers the error. Note the font name if possible.
- Go to
C:\Windows\Fontsand see if that font exists. If not, download and install it. - If you can't identify the font, install a comprehensive one like Segoe UI Emoji (for Unicode symbols) or Arial Unicode MS.
I've seen this happen when someone pastes emoji from their phone into a Windows app that only uses old fonts like Courier New.
Step 3: Check the system locale and code page
If the error is system-wide (e.g., in file names, menus), your locale might be set wrong.
- Open Control Panel > Clock and Region > Region.
- Go to the Administrative tab.
- Click Change system locale.
- Select your correct language/region (e.g., English (United States)).
- Check the box Beta: Use Unicode UTF-8 for worldwide language support.
- Reboot.
That UTF-8 beta option has saved me on multiple machines where the old code page couldn't handle certain Unicode ranges.
Step 4: Fix the registry (advanced)
If steps 1-3 fail, the code page registry key might be corrupted. Had a client whose system locale was fine but the registry value was pointing to a non-existent file.
- Press Win+R, type
regedit, hit Enter. - Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage - Look for a value named
ACP(ANSI code page) orOEMCP. Ensure the data matches your system locale (e.g., 1252 for Western European). - If it's wrong or missing, change it to the correct value. You can find a list online—default for US English is 1252 for ACP, 437 for OEMCP.
- Reboot.
Warning: Only do this if you're comfortable with the registry. Back up the key first.
Alternative fixes if the main one fails
- Reinstall the affected app. Sometimes the app itself has a missing font file. A clean reinstall includes its font resources.
- Disable font caching. Run
net stop FontCachein an admin command prompt, then delete the contents ofC:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache. Restart the service:net start FontCache. This clears a corrupted font cache that can cause this error. - Use a third-party font manager. If you have hundreds of fonts, a manager like NexusFont can help identify conflicts.
- Check for malware. Rare, but I've seen a virus replace a font file with a non-functioning one. Run a full scan with Malwarebytes or Defender.
Prevention tips
- Keep fonts updated. Windows Update often includes font fixes. Don't skip them.
- Avoid mixing fonts from different OS versions. Don't copy fonts from Windows 7 to Windows 11—they can have different character mappings.
- Use Unicode-compliant apps. Stick with modern software that handles UTF-8 natively. Old tools like Notepad (not Notepad++) still use ANSI and can trigger this.
- Back up your registry before making locale changes. I always export the
Nlskey before tweaking.
If you're still stuck after all this, try posting on a sysadmin forum with the exact character that's failing—someone else has probably seen it before.
Was this solution helpful?