我有一个MFC基于对话框的界面程序。我想在界面上的按钮上显示中文。中文是作为字符串资源放到string table里面的。我用str.LoadStringW(IDS_TEST)加载,然后用按钮的SetWindowTextW(&str,...)来显示。但显示一直是乱码。我确定我的string table设置的中文简体,项目\属性\字符集设置的是UNICODE。
如果直接SetWindowTextW(_T("测试")...)这样就显示正常,没有问题。
不知道为啥?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已结题
SetWindowTextW( &str... )乱码
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
4条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
苏打熊 2015-08-20 03:35关注保存了字符串之后,把它转成utf8赋值给一个新的字符串,再打印这个新的字符串试试。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报
微信扫一扫点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2016-03-22 20:20jameshater的博客 所以总是不能很好地解决LPCTSTR的问题,到处显示是没有合适的什么char,string,等等到LPCTSTR的转换,尤其是当我要将文本信息显示在MFC的静态文本控件中时,使用SetWindowTextW函数,就一直显示是乱码,试过网上的...
- 2018-12-28 18:25JamesWu9527的博客 前言:这个东西是八月份自己捣鼓着玩的 现记录下 ...通过城市名 来获取当前城市的温度以及未来一周的天气变化(Json数据) [返回数据为乱码] 接口:http://wthrcdn.etouch.cn/weather_mini?city=北京市 =>通过城市...
- 2025-06-25 18:38汪子熙的博客 使用验证脚本比较字节与 code point 计数,捕获截断或乱码行。(navicat.com, docs.oracle.com) 六、示例代码比较 6.1 Windows API 版本选择(C 语言) #define UNICODE #include int WINAPI wWinMain(HINSTANCE ...
- 2020-03-08 22:01刘大脑袋orz的博客 最近写了一个屏幕录屏软件,主要是调用...①CStdioFile读取txt文本时中文乱码,需要一个CharToUTF8(str)函数 void CharToUTF8(CString &str) { char *szBuf = new char[str.GetLength() + 1];//注意“+1”,c...
- 2025-05-16 09:27何曾参静谧的博客 wchar_t(如 SetWindowTextW),所以 std::wstring 在 Windows 编程中更常见。 Linux/macOS 默认用 UTF-8,一般优先使用 std::string。 3. 字面量前缀不同 std::string 使用普通字符串字面量: std::string s = "ABC...
- 2025-08-18 20:53侯忱励的博客 // 清空输入框 SetWindowTextW(hEdit, L""); // 获取AI回复 std::string response = g_ai->ask(prompt); // 显示回复(追加到对话窗口) HWND hChat = GetDlgItem(hWnd, IDC_CHAT_LOG); std::wstring wresponse = _...
- Echo_麋鹿不迷路的博客 但是为了输出数据内容且不乱码,需要将数据串转为16进制打印。具体的16进制转换函数如下: //转16进制 std::string CharBufferToHexString(const char* buffer, size_t length) { std::ostringstream oss; oss ('0...
- 2013-05-02 10:55cmsbupt的博客 例如,根本没有SetWindowText()这个API,相反,有SetWindowTextA()和SetWindowTextW()。后缀A表明这是MBCS函数,后缀W表示这是Unicode版本的函数。 当你 build 一个 Windows 程序,你可以选择是用 MBCS 或者 ...
- 2022-05-10 11:27飞人博尔特的摄影师的博客 GetDlgItem(IDC_EDIT2)->SetWindowTextW(m_strDataRcv); return 1L; } BOOL CTestCommunicationDlg::SendDataByWmCopyData(CString strText) { CWnd *pDisplayWnd = CWnd::FindWindow(NULL, _T("内存拷贝通讯"))...
- 2018-09-09 11:05weixin_30627381的博客 bianjikuang1.SetWindowTextW(temp); } 另存文件 CFileDialog dlg(FALSE); CString strPath, strText; char write[10000]; if (dlg.DoModal() == IDOK) { strPath = dlg.GetPathName(); if ...
- 2022-04-20 23:31一岁小白的博客 //长度一定要乘2,不然发送中文数据可能会乱码 } } 最后可以在初始化的时候设置一个默认的端口号,这里默认设置6000 最后的成品 客户端开发: 新建MFC项目,项目名称为:MFCClient 勾选Windows套接字 加入控件 ...
- 2022-03-12 23:29lhy_6668的博客 宏定义该放到哪: 若宏定义被多个.cpp文件... //选择文本框 GetDlgItem(IDC_EDIT3)->SetWindowTextW(result); GetDlgItem(IDC_EDIT3)->UpdateWindow(); //result = " "; row++; } } file.Close();
- 2021-07-17 21:52巨大八爪鱼的博客 对于char str[] = "简体中文",源文件是什么编码,str字符数组就以什么编码保存字符串。 wchar_t []字符数组专门用来存放UTF-16编码的字符串。对于wchar_t wstr[] = L"简体中文",无论源文件是什么编码,wstr字符...
- 2021-08-15 09:27一笑的博客 按住Ctrl键,打开VS中的方法定义,可以看出使用UNICODE字符集时,会自动对应SetWindowTextW(LPCWSTR str),否则对应SetWindowTextA(LPCSTR str) 3、要求传参是LPCWSTR的,为何报错是无法转换成LPCTSTR呢?...
- 2019-10-25 14:54紫梧桐的博客 而很多软件利用扩展ASCII码的英文制表符来画表格,这样的软件用到中文系统中,这些表格就会被误认作中文字符,出现乱码。 另外,由于各国和各地区都有自己的文字编码规则,它们互相冲突,这给各国和各地区交换...
- 2021-03-08 13:16ya4599的博客 //断开某个连接 // UNICEDE 字符集下CString (w_char*)转char* string Wchar_tToChar_UnicodeToAnsi(CString unicodeStr); // UNICODE字符集下char*转CString(w_char) CString CharToWchar_t_AnsiToUnicode(char* ...
- 2021-07-02 14:25千里修行的博客 目录 一. button 控件 1. CButton类 2. CSplitButton类 3. CMFCButton类 4. CMFCColorButton类 5. CMFCMenuButton类 6.CRadioButton类 7. CCheckBox类 二. StaticText 1. CStatic类 ...三....
- 2019-03-14 23:18sdhongjun的博客 1.UTF8与UTF16编码转换 std::string ConvertFromUtf16ToUtf8(const std::wstring& wstr) { std::string ... int requiredSize = WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, 0, 0, 0, 0...
- 2018-06-02 21:46lk小强的博客 但是当你完全这样照做时候,会发现显示在listctrl控件信息会出现,英文不乱码,中文乱码,这个时候,需要看这篇博客解决这个问题: 使用MFC编写的程序有乱码怎么办? 但是,当你这么照做会出现一些错误,你需要一个...
- 没有解决我的问题, 去提问