what encoding are using in your config file? You have to use UTF-8 (without BOM) in order to get the correct umlauts.
If this is OK, you should check the template. In order to display UTF-8 correctly in the browser the generated HTML files must contain <meta charset=utf-8>
I have checked my config.toml:
defaultContentLanguage defines a language and not the encoding. In my file its simply “de”. And languageCode is the full language code, which is “de-De”. It was not necessary to set any option for the correct encoding.
How do the Umlauts appear in the HTML page? On my page a menu item with umlaut is generated like this: <a href="/de/ueber-mich">Über mich</a>
But I need to test it tomorrow with the latest Hugo version. I am running Hugo 0.25.
This seems to be a problem of the Javascript. I have never seen before that the content of a tag is used as a selector. The message is also quite interersting. %C3%BC is a lower-case “ü”. So it seems that some JavaScript converts the selector value to lower-case.
You could try to use an HTML Entity definition instead of the Ü. This would be Ü for an upper-case Ü