回 帖 发 新 帖 刷新版面

主题:中文成了方块"口"。请指教如何解决。

我在C#中有一段程序-读中文"txt"文件(如下),但在MessageBox和textBox中中文成了方块"口"。请指教如何解决(在button,lable和textBox属性中输入的中文显示都正常)。
        private void button_readLGP_Click(object sender, EventArgs e)
        {
             if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                System.IO.StreamReader objFile = new System.IO.StreamReader(openFileDialog1.FileName);
                string strTXT;
                strTXT = objFile.ReadToEnd();
                objFile.Close();
                objFile.Dispose();
                MessageBox.Show(strTXT);
                textBox_LGP.Text = strTXT;
            }

        }

回复列表 (共5个回复)

沙发

打开文件需要解码正确,StreamReader默认是系统编码(中文系统GB2312)

板凳

我的中文文档是用WINDOWS NOTEPAD写的,编码是GB2312.C#环境是中文环境,为什么会出现乱码?
请指教。

3 楼

你用notepad另存一下,手动设置编码
否则可能是ASCII

4 楼


我核查了WINDOWS NOTEPAD的编码确实是GB2312.C#环境是中文环境,仍旧出现乱码,汉字显示“口”?如何解决?
请指教。

5 楼

System.IO.StreamReader objFile = new System.IO.StreamReader(openFileDialog1.FileName,Encoding.Unicode);
试下

我来回复

您尚未登录,请登录后再回复。点此登录或注册