CodePage的相关使用

最近的一个项目中用到了多语言,从文本中读取为string类型,然后用MultiByteToWideChar转换为CString再显示到界面上,问题就在于MultiByteToWideChar的第一个参数是Codepage值(页代码),不同语言的该值都不同。我解决的办法是多方查资料,然后有的语言几乎要把所有可能的值都试一遍才知道该用什么值,现将项目中用到的10种语言的Codepage值列出如下:

英语:CP_ACP / 0

法语:1252

西班牙语:1252

德语:28591

波兰语:1250

葡萄牙语:28591

瑞典语:1252

意大利语:1252

荷兰语:1252

匈牙利语:1252



另,此项目的语言设置中要求各语种串用原始的语言显示,实现如下:

        英语:m_listLanguage.AddString(_T("English"),0,20);//English

        法语:m_listLanguage.AddString(_T("\x46\x72\x61\x6E\xE7\x61\x69\x73"),0,20);//Francais

西班牙语:m_listLanguage.AddString(_T("\x45\x73\x70\x61\xF1\x6F\x6C"),0,20);//Espanol

        德语:m_listLanguage.AddString(_T("Deutsch"),0,20);//Deutsch

    波兰语:m_listLanguage.AddString(_T("Polski"),0,20);//Polski

葡萄牙语:m_listLanguage.AddString(_T("\x50\x6F\x72\x74\x75\x67\x75\xEA\x73"),0,20);//Portugues

    瑞典语:m_listLanguage.AddString(_T("Svenska"),0,20);//Svenska

意大利语:m_listLanguage.AddString(_T("Italiano"),0,20);//Italiano

    荷兰语:m_listLanguage.AddString(_T("Nederlands"),0,20);//Nederlands

匈牙利语:m_listLanguage.AddString(_T("Magyar"),0,20);//Magyar


以作纪念,免得用时无处可寻



你可能感兴趣的:(CodePage的相关使用)