| Previous | Next |
| ERROR_NO_MEDIA_IN_DRIVE | ERROR_DLL_INIT_FAILED |
ERROR_NO_UNICODE_TRANSLATION
no mapping for the unicode character exists in the target multi-byte code page.
ERROR_NO_UNICODE_TRANSLATION means that a Unicode-to-legacy-code-page conversion encountered one or more characters that cannot be represented.
Where the result appears
- WideCharToMultiByte and similar conversion APIs.
- writing filenames, text, or protocol fields to legacy encodings.
- interop with ANSI-only applications, devices, databases, or wire formats.
- locale-sensitive import/export and command-line processing.
Typical causes
- the destination code page lacks the source character.
- strict conversion flags reject best-fit or replacement mappings.
- the wrong code page was selected for the external format.
- input contains supplementary, combining, or script characters unsupported by the legacy encoding.
What to collect
- source text or escaped code points, target code page, flags, and default-character settings.
- whether the external format actually specifies UTF-8 or another encoding.
- OS locale assumptions and any prior lossy conversion.
- the first unrepresentable character and the required round-trip behavior.
Handling and recovery
Prefer UTF-8 or another Unicode encoding end to end. When a legacy format is mandatory, define whether rejection, transliteration, or an explicit replacement character is acceptable, and report the affected field to the caller. Never silently reinterpret bytes using the machine’s current ANSI code page.
Common misinterpretation
The source Unicode text is not necessarily invalid. The failure means the chosen destination encoding cannot represent it without loss.
References
Looking for a different code? Search another status or error code.
