You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCC编译Win32 .rc文件时Unicode字符显示异常求助

GCC环境下Win32资源文件Unicode字符显示问题

我遇到了Win32资源文件中Unicode字符无法正确显示的问题——比如在资源文件中编写LTEXT L"żółć", -1, 5, 5, 80, 10,实际运行后字符显示乱码(效果为Unicode字符显示错误)。但针对该问题的常规解决方案不适用于GCC,原因有两点:

  • GCC无法正确读取UTF-16编码的文件
  • GCC中不存在#pragma codepage指令

编辑——最小可复现示例:

main.cpp

#include <windows.h>
INT_PTR CALLBACK DialogProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
    if(msg == WM_COMMAND && LOWORD(wparam) == IDCANCEL) {
        EndDialog(hwnd, 0);
        return TRUE;
    } else {
        return FALSE;
    }
}
int WINAPI WinMain(HINSTANCE thisInstance, HINSTANCE, LPSTR, int) {
    DialogBox(thisInstance, MAKEINTRESOURCE(123), nullptr, DialogProc);
    return 0;
}

dialog.rc

#include <windows.h>
123 DIALOG 100, 100, 100, 100
STYLE WS_POPUPWINDOW | WS_CAPTION
{
    LTEXT L"żółć", -1, 0, 0, 100, 100
}

内容的提问来源于stack exchange,提问作者michuu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:24:25