这个问题纠结我很久了,我连接Oracle数据库,英文和数字能正常显示。中文显示的是方框,显示中文的地方就是四个小方框。数据库用的字符集是US7ASCII 这个是不能更改的。我在<web.config>中有使用 <globalization   requestEncoding= "GB2312 "   responseEncoding= "GB2312 "   culture= "zh-CN "   fileEncoding= "GB2312 "   />
但是没有用。将GB2312改成别的字符集也没有效果。我用过oracleclient连接 也试过ODBC连接,都是同样的问题。有哪位高手遇到过或知道怎么解决的,帮帮忙好吗?先谢了。

解决方案 »

  1.   

    US7ASCII是不支持中文的,所以用US7ASCII肯定是乱码。
    你换unicode试试
      

  2.   

    就得修改数据库使用的字符集吧,楼主 可以参考http://wenku.baidu.com/view/defb606baf1ffc4ffe47acc6.html
      

  3.   

    <web.config>中还是用utf-8编码吧,至于乱码可能是你页面中编码有错误。
    你这样做,在打开的IDE中,选择菜单中的"文件"->"高级保存选项",这时弹出一个对话框,为编码选项选择"Unicode(UTF-8 带签名)-代码页65001",如果是中文的操作系统的话,选择utf-8就可以了,不需另外设置为gbk或关闭2312的.
      

  4.   


    问题是现在医院的数据库用的就是这个字符集,我们不能修改他的字符集。而且医院其他系统都可以显示和录入中文啊!不过不是用的ASP.NET开发的系统。Unicode试过了 不行。
      

  5.   

    问题解决了,总结下。首先用Oracleclient连接数据库的话,显示的肯定不是真正的汉字,无论怎么在页面中更改字符集,最后输出的都是问号或者方框(也许我还没有没试到的吧)。在改用ODBC连接oracle后可以显示出汉字,并且可以正确的输入汉字到数据库里。具体步骤如下:
    1:添加DSN:控制面板--管理工具--数据源(odbc)在系统DSN下点击添加;然后选择Microsoft ODBC for oracle;填写数据源名称(自己随便写)和服务器如常用的(orcl)。
    2:在页面建立连接如下:OdbcConnection oc = new OdbcConnection("Dsn=ORCL1;uid=ly;pwd=ly;");其中dsn就是1中定义的数据源名称。
    这样就可以了 ,贴一下测试代码。
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.Odbc;
    using System.Text;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //改变页面编码;
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("unicode"); 
        }
        protected void Button1_Click1(object sender, EventArgs e)
        {        OdbcConnection oc = new OdbcConnection("Dsn=oc;uid=ly;pwd=ly;");
            try
            {
                oc.Open();
                string insertsql = "insert into LY.users values('" + tb1.Text + "','" + tb2.Text + "','" + tb3.Text + "','" + tb4.Text + "','" + tb5.Text + "','" + tb6.Text + "')";
                OdbcCommand cmd = new OdbcCommand(insertsql, oc);
                cmd.ExecuteNonQuery();
                OdbcDataAdapter OD = new OdbcDataAdapter("SELECT * from ly.users", oc);
                DataSet ds = new DataSet();
                OD.Fill(ds);
                GridView1.DataSource = ds;
                GridView1.DataBind();
                Response.Write("<script language=javascript>alert('ODBC数据源连接成功!')</script>");
            }
            catch
            {
                Response.Write("<script language=javascript>alert('ODBC数据源连接失败!')</script>");
            }
        }
    }