使用CFileDialog时选择文件类型下拉框里有乱码是什么原因?该如何处理

使用CFileDialog时选择文件类型下拉框里有乱码是什么原因?
CFileDialog   dlg(TRUE,   "XML ",   "*.xml ",   OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,   "xml   Files(*.xml)|*.xml ",   NULL);
代码是按上面写的,选择文件类型时第一行正常,第二行是乱码,但是在我机器上没事(中文操作系统)在用户机器上就有乱码(英文操作系统).

我上网查了一下是不是缓冲溢出的原因呢,我做了修改但是还不敢确定是否正确,希望大家帮我确认一下后发给用户.
static   char   BASED_CODE   szFilter[]=   "xml   Files(*.xml)|*.xml ";

CFileDialog   dlg(TRUE,   "XML ",   "*.xml ",   OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,   szFilter,   NULL);

------解决方案--------------------
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml|| ";试试