每当 Windows 程序使用“ANSI”版本的 Windows API 函数(例如MessageBoxA
)时,都会根据当前代码页进行转换。如果系统语言未设置为日语,这可能会导致许多日语程序将其整个用户界面显示为 mojibake。
一种解决方案是在整个程序中使用 UTF-16,但是否可以通过使用 API 来更改此代码页?如何做到这一点?
理想情况下GetACP
应该有一个SetACP
对应物,但事实并非如此。
每当 Windows 程序使用“ANSI”版本的 Windows API 函数(例如MessageBoxA
)时,都会根据当前代码页进行转换。如果系统语言未设置为日语,这可能会导致许多日语程序将其整个用户界面显示为 mojibake。
一种解决方案是在整个程序中使用 UTF-16,但是否可以通过使用 API 来更改此代码页?如何做到这一点?
理想情况下GetACP
应该有一个SetACP
对应物,但事实并非如此。