解决控制台中文显示乱码有两种方法
1. 修改控制台代码页,将控制台“默认代码页” 修改为“936 简体中文”,即可解决乱码问题。如下图:
2. 使用SetThreadLocale函数设置代码页
SetThreadLocale(LOCALE_USER_DEFAULT) 将代码页设置为中文 zh-cn 0x0804 2052
设置完毕可通过GetThreadLocale()来获取设置的结果即为 2052
区域设置 ID (LCID) 表
区域设置描述 | 简写 | 十六进制值 | 十进制值 |
---|---|---|---|
南非荷兰语 | af | 0x0436 | 1078 |
阿尔巴尼亚语 | sq | 0x041C | 1052 |
阿拉伯语 - 阿拉伯联合酋长国 | ar-ae | 0x3801 | 14337 |
阿拉伯语 - 巴林 | ar-bh | 0x3C01 | 15361 |
阿拉伯语 - 阿尔及利亚 | ar-dz | 0x1401 | 5121 |
阿拉伯语 - 埃及 | ar-eg | 0x0C01 | 3073 |
阿拉伯语 - 伊拉克 | ar-iq | 0x0801 | 2049 |
阿拉伯语 - 约旦 | ar-jo | 0x2C01 | 11265 |
阿拉伯语 - 科威特 | ar-kw | 0x3401 | 13313 |
阿拉伯语 - 黎巴嫩 | ar-lb | 0x3001 | 12289 |
阿拉伯语 - 利比亚 | ar-ly | 0x1001 | 4097 |
阿拉伯语 - 摩洛哥 | ar-ma | 0x1801 | 6145 |
阿拉伯语 - 阿曼 | ar-om | 0x2001 | 8193 |
阿拉伯语 - 卡塔尔 | ar-qa | 0x4001 | 16385 |
阿拉伯语 - 沙特阿拉伯 | ar-sa | 0x0401 | 1025 |
阿拉伯语 - 叙利亚 | ar-sy | 0x2801 | 10241 |
阿拉伯语 - 突尼斯 | ar-tn | 0x1C01 | 7169 |
阿拉伯语 - 也门 | ar-ye | 0x2401 | 9217 |
巴斯克语 | eu | 0x042D | 1069 |
白俄罗斯语 | be | 0x0423 | 1059 |
保加利亚语 | bg | 0x0402 |