diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index 62da6e3a73..5bc3534bfc 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -4421,9 +4421,17 @@ idn_ace_to_locale(const char *src, char **dst) { */ res = idn2_to_unicode_8zlz(utf8_src, &local_src, 0); if (res != IDN2_OK) { - fatal("Cannot represent '%s' in the current locale (%s), " - "use +noidnout or a different locale", - src, idn2_strerror(res)); + /* + * Cannot represent in current locale. + * Output ACE form undecoded. + */ + res = idn2_to_ascii_8z(utf8_src, &local_src, 0); + if (res != IDN2_OK) { + fatal("Cannot represent '%s' " + "in the current locale nor ascii (%s), " + "use +noidnout or a different locale", + src, idn2_strerror(res)); + } } /*