I have NFI about this stuff.
Let me be immodest and tell you that I _do_ have an idea about this stuff - and a solution.
The basic issue is that the browser's titlebar should be able to correctly display thousands of different characters - just like the browser itself - but that ain't going to happen if the titlebar is using a codepage that's limited to 256 codepoints. Screwing around to get it to display a question mark rather than the 3-byte UTF8 encoding for a typographic dash accomplishes virtually nothing.
The solution is to set the codepage for the browser's primary thread to CP1208, i.e. UTF8, so the titlebar can render the untranslated UTF8 bytestream correctly. The attached screenshots demonstrate this (for the Chinese example, I had to change the titlebar font from WarpSans to one that includes Chinese glyphs).
Using CP1208 is something I would never otherwise recommend because it normally slows PM text handling down to a crawl. However, in the case of Dooble, the titlebar and system menu are the only places in the entire app that PM renders the text itself. In my limited testing, it appeared to have no noticable impact on performance.
Given all this, I would strongly, strongly recommend implementing this fix in Dooble itself and *not* in QT6 since other QT6-based apps may handle their titlebars differently. To do so, add the following code to Dooble early in its processing: probably right after it initializes the QT6 framework and no later than after it creates its first window (the primary thread's message queue has to exist for this to have any effect). This should only be used on the very first thread.
WinSetCp(HMQ_CURRENT, 1208);
FYI... to create my examples, I used my 'CpPal' util to switch the CP to 1208 on the fly. If you have it, set the CP to 1208, then drag from the "Set" icon and drop on the browser.