如何返回英文默认代码页?

时间:2013-07-17 00:58:35

标签: visual-studio-2012 windows-8 localization

我一直在调试一个应用程序,为什么没有出现双字节字符语言。在内部,代码将所有字符串存储为char *,即使它在显示时适当地转换它。

我通过使用相应的语言代码使用WideCharToMultiByte()解决了日语和俄语问题。例如日语使用936的代码页。一旦我设置它,它就像一个魅力。还有一些安装语言和语言包的步骤。

然而,不知怎的,我的机器已进入一个奇怪的状态,它希望在该状态下打开文件。

一个完美的例子是(在日语Shift-JIS中打开):

//Copyright � 1996-2008

但是未经编辑的文件(在源代码管理中)显示应该如下:

//Copyright © 1996-2008

当我尝试编译它们时,某些文件就像barf上面的代码段 - 而且它们是我不打算编辑的SDK的一部分,它以前从未发生在我身上,并且它不会影响其他任何人团队。

我得到的错误是:

1> e:\ projects ----- \ sdk \ sdkheader.h:错误C2220:警告被视为错误 - 未生成“对象”文件 1> e:\ projects ----- \ sdk \ sdkheader.h:警告C4819:该文件包含一个无法在当前代码页中表示的字符(932)。以Unicode格式保存文件以防止数据丢失 1> e:\ projects ----- \ sdk \ sdkheader.h:警告C4819:该文件包含一个无法在当前代码页中表示的字符(932)。以Unicode格式保存文件以防止数据丢失

每当我尝试打开“带编码”文件时,它会显示日语Shift-JIS作为首选。我可以将它保存为Unicode,它编译得很好,但改变SDK文件不是一种选择。

我的键盘设置为ENG,重启和还原文件无法解决问题。我似乎永远陷入这种模式,无法弄清楚如何恢复正常。我在Windows 8上运行。

有没有其他人被这个令人抓狂的bug所击中?我正在寻找想法。

1 个答案:

答案 0 :(得分:1)

原来是我的系统区域设置为日语。在Windows 8中,有几个不同的区域来设置这个东西,不知何故我错过了那个。