正在汉化 iZotope Ozone 4 这个软件,但翻译后发现乱码。
跟踪了一下,发现字符串经过 MultiByteToWideChar 这个函数后应该是由 ASCII 码转为 UNICODE,英文转换正常,而中文则转换为乱码。看了一下此函数的参数,如下图,栈顶是 CodePage ,也就是代码页,最后入栈:PUSH EBP ,发现其数值并不熟悉。
打开注册表搜索 CodePage ,看到了我们熟悉的 GB2312 936 。把所有 MultiByteToWideChar 下断点跟踪了一下,把最后的代码页参数值都改成了 000003A8 。
看看实际运行的结果,正常显示中文了。
跟踪了一下,发现字符串经过 MultiByteToWideChar 这个函数后应该是由 ASCII 码转为 UNICODE,英文转换正常,而中文则转换为乱码。看了一下此函数的参数,如下图,栈顶是 CodePage ,也就是代码页,最后入栈:PUSH EBP ,发现其数值并不熟悉。
打开注册表搜索 CodePage ,看到了我们熟悉的 GB2312 936 。把所有 MultiByteToWideChar 下断点跟踪了一下,把最后的代码页参数值都改成了 000003A8 。
看看实际运行的结果,正常显示中文了。
备注:本文转载自:http://www.hanzify.org/teach/index.php?Go=Show::678-1245165791
本文介绍了解决iZotopeOzone4软件中出现的中文乱码问题的过程。通过调整MultiByteToWideChar函数的代码页参数,成功使软件能够正确显示中文。
1244

被折叠的 条评论
为什么被折叠?



