X11 XM#U名称类型为';UTF-8';而不是字符串\u UTF8

X11 XM#U名称类型为';UTF-8';而不是字符串\u UTF8,utf-8,x11,xlib,xorg,icccm,Utf 8,X11,Xlib,Xorg,Icccm,我正在看一些X11代码,它使用xmbtextlisttoextproperty设置WM\u NAME属性,使用编码样式XTextStyle 建议XTextStyle表示属性的类型/编码将取决于当前区域设置 我不知道如何解释,它似乎允许WM_NAME的类型依赖于当前的语言环境 我当前的语言环境是“en_US.UTF-8”。到目前为止,我所看到的一切都表明WM\u NAME的类型应该是STRING、composite\u STRING或UTF8\u STRING 但是,xprop报告UTF-8,而x

我正在看一些X11代码,它使用
xmbtextlisttoextproperty
设置
WM\u NAME
属性,使用编码样式
XTextStyle

建议
XTextStyle
表示属性的类型/编码将取决于当前区域设置

我不知道如何解释,它似乎允许
WM_NAME
的类型依赖于当前的语言环境

我当前的语言环境是“en_US.UTF-8”。到目前为止,我所看到的一切都表明
WM\u NAME
的类型应该是
STRING
composite\u STRING
UTF8\u STRING

但是,
xprop
报告
UTF-8
,而
xwininfo
报告“名称采用不受支持的UTF-8编码”。检查代码时,它确实支持
UTF8\u STRING
,但不支持
UTF-8


我不知道这个
UTF-8
是从哪里来的。有什么想法吗?

除了标准类型
STRING
composite\u STRING
UTF8\u STRING
(后者是XFree86的扩展)之外,还可以接受任何多字节编码

XTextStyle
传递到
xmbtextlistotextproperty
时,只需从当前区域设置中获取当前编码。在
en_US.UTF-8
区域设置中,这将是
UTF-8
。要获得属性的标准化(通过XFree86)
UTF8_字符串
类型,我们需要将
XUTF8StringStyle
传递到
XmbTextListToTextProperty
,而不是
XTextStyle