如何解决Windows凭据提供程序中无法使用非ASCII字符重音符号
我正在使用Microsoft的“示例所有UI”示例创建Windows凭据提供程序。
作为讲法语的人,我需要使用诸如“éàèê”这样的口音。我所有的字符串都是widechar字符串(语法:L“Numérodetéléphone”),我使用的所有字符串函数都是widechar版本(wcsdup,wcscpy ...)
但是,当我加载提供程序时,重音符号会作为一组随机字符生成,例如©或Ã。 显然看起来像是编码错误,但我找不到方法。
凭证提供商是否支持特殊字符? 我知道默认的法语提供者将显示重音符号。
非常感谢您。
解决方法
我最终从文件中将文本作为UTF-8加载,并使用此功能将其转换为UTF-16:
MultiByteToWideChar(CP_UTF8,s.c_str(),slength,0);
注意标志:CP_UTF8
我使用了这些生成的字符串,并且有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。