【c语言】warning C4566

【c语言】warning C4566

问题

warning C4566: character represented by universal-character-name ‘\u5E74’ cannot be represented in the current code page (1252)。
warning C4566: character represented by universal-character-name ‘\u9752’ cannot be represented in the current code page (1252)

int main()
{
int age = 10;
if (18<=age<28)
printf(“青年\n”);
return 0;
}

输出结果:
??

解决方法

C11标准中引入了 通用字符名 ( Universal Character Names )这个概念。 其实,所为的通用字符名也就是我们俗称的Unicode
标准代码页(codepage) 1252 Windows-1252 Western European (Windows)
ANSI规定简体中文GB编码的代码页是936,所以GB编码又叫做ANSI Code Page 936
代码页的英文为Code Page,往往简称为CP。代码页也称为“内码表”,是计算机中与特定字符集(准确地说是字符集的某个字符编码方式CEF)相对应的一张字符编码对照表(这里的字符编码实际上指的是字符编码模式CES,因此实际为“码元序列-字节序列”对照表,或者说是“字符编码方式CEF-字符编码模式CES”对照表,也可以简单地称之为“字符-字节序列”对照表
最初,IBM用代码页来称呼其计算机BIOS所支持的字符编码。当时通用的操作系统都是命令行界面的,这些操作系统直接使用BIOS提供的字符绘制功能来显示字符(或者是一组嵌入在显卡字符生成器中的字形)。这些BIOS代码页也被称为OEM代码页。
现代操作系统中,不同的国家或地区,使用不同的语言和区域设置,可能对应不同的代码页。
微软所采用的对应于ISO 8859-1字符集(即Latin-1字符集)的ANSI代码页1252(即CP1252),就对Latin-1字符集有所扩展,其中编码128~159也被定义了字符,这是与Latin-1字符集不同之处,用于表示英语和大多数欧洲语言(西班牙语和各种日耳曼/斯堪的纳维亚语)。
在Windows中,代码页是系统默认设置的(即默认系统区域设置),也可在(Windows7的)“控制面板-区域和语言-管理-非Unicode程序的语言-更改系统区域设置”中选择列表中的语言进行更改。
注意,系统区域设置System Locale可用于确定在不使用Unicode编码的程序(即非Unicode程序)中输入和显示字符的默认编码方案(显然主要是指ANSI编码方案)和字体,这样就可以让非Unicode程序在计算机上使用指定的语言(实质上是使用指定的ANSI编码)得以正常显示文字,而不会导致显示为乱码。
1252 (ANSI -拉丁文)

你可能感兴趣的:(c语言)