前提:控件使用了“方正藏文新白体OT_Unicode”字体
备注相关知识:GB2312支持的汉字太少。1995年字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。
#define ANSI_CHARSET 0 OK
#define DEFAULT_CHARSET 1 OK
#define SYMBOL_CHARSET 2 VERY BAD
#define SHIFTJIS_CHARSET 128 BAD
#define HANGEUL_CHARSET 129 BAD
#define HANGUL_CHARSET 129
#define GB2312_CHARSET 134 BAD
#define CHINESEBIG5_CHARSET 136 BAD
#define OEM_CHARSET 255 VERY BAD
#define JOHAB_CHARSET 130 BAD
#define HEBREW_CHARSET 177BAD
#define ARABIC_CHARSET 178BAD
#define GREEK_CHARSET 161BAD
#define TURKISH_CHARSET 162BAD
#define VIETNAMESE_CHARSET 163 BAD
#define THAI_CHARSET 222 OK(泰国字符集竟然可以很好的支持方正藏文白体OT_UNICODE)
#define EASTEUROPE_CHARSET 238BAD
#define RUSSIAN_CHARSET 204BAD
总结:
编辑框控件设定字体的时候,字符编码一定要在字符集中,否则无效
GB2312没有包括藏文字符,而GB18030却包括了
2312指的是国家标准号
windows7 大陆中文版,默认字符集应该是GB18030,否则怎么设置为134(GB2312_CHARSET)会显示不正确,而设置1(DEFAULT_CHARSET)却正确呢