最近在开发一个OA系统,但在开发其实出现了一个莫名其秒的问题,就是无论我用什么编码方式,一用到中文的时候都会出现乱码(除了页面上面的文字),我在代码里面为了方便起见所以自己写了一个叫LANGUAGE的DLL,里面代码是:
using System;
using System.Reflection;
using System.Collections;
using System.IO;
using System.Text;namespace Language
{
public class Language
{
Hashtable m_lstLanguage = new Hashtable();

public Language()
{

} public void loadLanguage(string strLanguage, string strPath)
{
StreamReader objReader = new StreamReader(strPath + "\\" + strLanguage + "\\language.inc");
string strItem = "";
Hashtable lstLanguage = new Hashtable(); if (objReader != null)
{
strItem = objReader.ReadLine(); while(strItem != null)
{
int i = strItem.IndexOf("=");

if(i >= 0)
{
lstLanguage[strItem.Substring(0, i)] = strItem.Substring(i + 1);
} strItem = objReader.ReadLine();
} m_lstLanguage[strLanguage] = lstLanguage;
objReader.Close();
}
} public string getMessage(string strLanguage, string strKey)
{
Hashtable lstLanguage = (Hashtable)m_lstLanguage[strLanguage]; if(lstLanguage != null && lstLanguage[strKey] != null)
{
return (string)lstLanguage[strKey];
} return strKey;
} public string getString(string strValue)
{
return getString(strValue, "");
} public string getString(string strValue, string strDefault)
{
if (strValue == null)
{
strValue = strDefault;
} return strValue;
} public string getImagePath(string strLang, string strImage)
{
return "images\\" + strLang + "\\" + strImage;
} public string getFile(string strLang, string strPath, string strFile)
{
string strItem = "";
StreamReader objReader = new StreamReader(strPath + "\\" + strLang + "\\" + strFile, System.Text.Encoding.UTF8); if (objReader != null)
{
strItem = objReader.ReadToEnd();
} objReader.Close(); return strItem;
}
}
}
请高手帮我解决一下这个问题,小弟万分感谢.

解决方案 »

  1.   

    修改web工程的web.config文件,修改其中的编码为gb2312
      

  2.   

    但我在WEB.CONFIG里面没有添加编码的语句
      

  3.   

    to 但我在WEB.CONFIG里面没有添加编码的语句在web.config文件中,用“gb2312”替换"utf-8"
      

  4.   

    我用的方法不是用WEBSERVICE的方法的,
    我们的WEB.CONFIG只有显示错误的作用,我们把所有的程序都封装起来.
    所以在WEB.CONFIG里面根本就没有CHARSET=""这一类的文字.
      

  5.   

    不过你可以设置streamreader的encoding,但是这必须知道网页是如何编码的。
      

  6.   

    在web.config文件中,用“gb2312”替换"utf-8"