鱼C论坛

 找回密码
 立即注册
查看: 98|回复: 1

[已解决]乱码问题

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在学习WIN32汇编第五章Icon案例时,显示界面中的文字是乱码,怎么解决?
最佳答案
5 天前
解决Win32汇编图标案例文字乱码的常见方法:

1. 检查字符编码设置
建议在代码开头添加字符集声明:

  1. #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
  2. #pragma comment(linker,"/subsystem:windows")
复制代码


2. 修改资源文件编码
如果使用.rc资源文件:
→ 用记事本打开.rc文件
→ 另存为时选择 ANSI 编码
→ 添加代码页声明到文件开头:

  1. #pragma code_page(936)  // 简体中文代码页
复制代码


3. API函数版本统一
确保所有API调用使用统一字符集:

  1. invoke MessageBoxW, NULL, addr szTextW, addr szCaptionW, MB_OK
  2. ; 使用宽字符版本API时,字符串应定义为:
  3. szTextW    dw '中','文','示','例',0
复制代码


4. 编译器选项设置
在MASM32编译时添加参数:

  1. /u  // 强制使用Unicode API
复制代码


常见错误排查:
  • 查看系统区域设置是否为中文(简体,中国)
  • 确认所有字符串以双字节0结尾(宽字符)
  • 检查是否混用了ANSI和Unicode API


如果仍有问题,建议提供具体代码片段,方便进一步分析定位问题~

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层    本楼为最佳答案   
解决Win32汇编图标案例文字乱码的常见方法:

1. 检查字符编码设置
建议在代码开头添加字符集声明:

  1. #pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
  2. #pragma comment(linker,"/subsystem:windows")
复制代码


2. 修改资源文件编码
如果使用.rc资源文件:
→ 用记事本打开.rc文件
→ 另存为时选择 ANSI 编码
→ 添加代码页声明到文件开头:

  1. #pragma code_page(936)  // 简体中文代码页
复制代码


3. API函数版本统一
确保所有API调用使用统一字符集:

  1. invoke MessageBoxW, NULL, addr szTextW, addr szCaptionW, MB_OK
  2. ; 使用宽字符版本API时,字符串应定义为:
  3. szTextW    dw '中','文','示','例',0
复制代码


4. 编译器选项设置
在MASM32编译时添加参数:

  1. /u  // 强制使用Unicode API
复制代码


常见错误排查:
  • 查看系统区域设置是否为中文(简体,中国)
  • 确认所有字符串以双字节0结尾(宽字符)
  • 检查是否混用了ANSI和Unicode API


如果仍有问题,建议提供具体代码片段,方便进一步分析定位问题~

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-8 09:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表