gpt4 book ai didi

windows - 无法将剪贴板数据设置为 CF_TEXT 正确检索为 CF_UNICODETEXT

转载 作者:可可西里 更新时间:2023-11-01 14:45:58 24 4
gpt4 key购买 nike

我们的应用程序在非 unicode 版本中存在错误;如果我们将一些俄语字符复制到剪贴板(使用 SetClipboardData(CF_TEXT)),然后将它们粘贴到记事本中,它们不会作为俄语字符粘贴,而是作为代码页 1252 等效字符(例如,Э 变为 Ý)。

为了解决这个问题,我制作了一个用于粘贴的小测试应用程序,如果我使用 GetClipboardData(CF_TEXT),它工作正常。但是,如果我使用 GetClipboardData(CF_UNICODETEXT),它的问题与记事本完全相同。

所以我假设记事本只是在粘贴上使用 CF_UNICODETEXT。根据我读过的 MS 文档,剪贴板应该能够将 CF_TEXT 转换为 CF_UNICODE 文本。事实上在页面上:

http://msdn.microsoft.com/en-us/library/ms649013.aspx#_win32_Synthesized_Clipboard_Formats

它说“将转换格式放在剪贴板上没有任何好处。”

如果这是真的,那么我一定(我希望)犯了一个很容易纠正的简单错误。

谁能帮我解决这个问题?谢谢

最佳答案

您可能缺少俄语的 CF_LOCALECF_TEXT 除非另有说明,否则使用系统区域设置进行解释。如果您的系统区域设置字符集是 CP1252,但您的应用程序区域设置是 CP1251,Windows 在将您的 8 位文本转换为 Unicode 时会误判。

关于windows - 无法将剪贴板数据设置为 CF_TEXT 正确检索为 CF_UNICODETEXT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7485274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com