各位高手們,請教個問題
為何我Insert資料到數據庫裡,中文字都變成"????"
而不是正常的中文字體呢?
而我試過直接到數據庫裡加資料進去
卻是正常中文字體
以下是我的insert字串
不知我該如何加些設定,讓Insert進去的中文字變正常
        string InString = "insert into SiteMap (ID,FuncID,FuncName,FuncUrl,FuncParentID)values('" + txt_MainID.Text + "','" + txt_SecondID.Text + "','" + txt_TitleName.Text + "','" + txt_LinkURL.Text + "','" + txt_TitleName.Text + "')";

解决方案 »

  1.   

    數據庫:MS-SQL 2005
    ASP.NET c#語言
      

  2.   

    字段数据类型用unicode,如: nvarcahr,nchar,ntextDECLARE @T1 TABLE([NAME] VARCHAR(10))
    DECLARE @T2 TABLE([NAME] NVARCHAR(10))
    INSERT @T1 SELECT '链接服务器'
    INSERT @T2 SELECT N'链接服务器 '
    SELECT * FROM @T1
    SELECT * FROM @T2
    /*NAME       
    ---------- 
    ?接服?器NAME       
    ---------- 
    链接服务器 
    */
      

  3.   

    编码格式问题N''
    类型使用nvarchar
      

  4.   

    这要看你使用什么客户端驱动机制来执行 InString 。是.net中的system.Data.SqlClient命名空间下的类库方法吗?
      

  5.   

    http://www.phpfans.net/article/htmls/201006/Mjg4MTQw.html
    你仔细看下。
      

  6.   

    我是用system.Data.SqlClient沒錯
    而我也試過用vb.net將資料insert到數據庫
    還是一樣出現????(只要是中文字)
    我在想會不會是數據庫本身設置出了問題
    可是也查過了
    其它程序insert到別的數據庫都沒有這樣的狀況
      

  7.   

    1.  在数据插入的SQL语句中加 N
    string InString = "insert into SiteMap (ID,FuncID,FuncName,FuncUrl,FuncParentID)values(N'" + txt_MainID.Text + "','" + txt_SecondID.Text + "','" + txt_TitleName.Text + "','" + txt_LinkURL.Text + "','" + txt_TitleName.Text + "')";
    2.但当用AJAX的时候 ,有出现了乱码问题.在web.config中 设置:<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="GB2312"/>这样的话,页面是UTF-8解码,又支持中文