正在汉化 iZotope Ozone 4 这个软件,但翻译后发现乱码。
跟踪了一下,发现字符串经过 MultiByteToWideChar 这个函数后应该是由 ASCII 码转为 UNICODE,英文转换正常,而中文则转换为乱码。看了一下此函数的参数,如下图,栈顶是 CodePage ,也就是代码页,最后入栈:PUSH EBP ,发现其数值并不熟悉。
打开注册表搜索 CodePage ,看到了我们熟悉的 GB2312 936 。把所有 MultiByteToWideChar 下断点跟踪了一下,把最后的代码页参数值都改成了 000003A8 。
看看实际运行的结果,正常显示中文了。
![附加图片](http://bbs.hanzify.org/attachment/ipb/post-8368-1245151678.png)
跟踪了一下,发现字符串经过 MultiByteToWideChar 这个函数后应该是由 ASCII 码转为 UNICODE,英文转换正常,而中文则转换为乱码。看了一下此函数的参数,如下图,栈顶是 CodePage ,也就是代码页,最后入栈:PUSH EBP ,发现其数值并不熟悉。
![附加图片](http://bbs.hanzify.org/attachment/ipb/post-8368-1245151688.png)
打开注册表搜索 CodePage ,看到了我们熟悉的 GB2312 936 。把所有 MultiByteToWideChar 下断点跟踪了一下,把最后的代码页参数值都改成了 000003A8 。
![附加图片](http://bbs.hanzify.org/attachment/ipb/post-8368-1245151702.png)
![附加图片](http://bbs.hanzify.org/attachment/ipb/post-8368-1245151714.png)
看看实际运行的结果,正常显示中文了。
![附加图片](http://bbs.hanzify.org/attachment/ipb/post-8368-1245151724.png)
备注:本文转载自:http://www.hanzify.org/teach/index.php?Go=Show::678-1245165791