X11 XM#U名称类型为';UTF-8';而不是字符串\u UTF8
我正在看一些X11代码,它使用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
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