glfwSetWindowTitle(win, "Nämen");
成为“ N?men”,其中“?”呈黑色略微扭曲的正方形,表示该字符无法显示。
如何显示“ä”?
答案 0 :(得分:2)
如果要在窗口标题中使用非ASCII字母,则该字符串必须经过utf-8编码。
窗口标题是使用UTF-8编码的常规C字符串。例如,这意味着只要您的源文件编码为UTF-8,就可以使用任何Unicode字符。
如果看到有点黑的扭曲正方形,则表明ä
使用的编码不是UTF-8,而是类似latin1的iso编码。要解决此问题,您需要在编辑器中打开它,在其中可以更改文件的编码,将其更改为uft-8(不带BOM),并修复标题中的ä
。
答案 1 :(得分:1)
在这种情况下,GLFW实现似乎无法按照规范运行。该功能可能仍使用Latin-1而不是UTF-8。
我在GLFW 3.3 Windows 64位预编译二进制文件上遇到了相同的问题,并像这样修复了它:
SetWindowTextA(glfwGetWin32Window(win),"Nämen")