情況說明:
數據庫為SQL繁體版,當用戶系統為繁體版時寫入數據庫的數據則為繁體字.
而當用戶系統為簡體版時寫入的字符串則會自動轉為Unicode碼.
問題出在下面一斷程序中輸出的值,Unicode為什麼不會轉成正常的簡單字體呢?繁體字顯示則是正常.請問是不是還有那里要設置.
在asp中則不會出現這種情況,而會把Unicode碼自動轉成正常字體..如下代碼:
<asp:textBox ID="enterpriseName" Text='<%# dataSet.FieldValue("enterpriseName", Container) %>' runat="server"/>

解决方案 »

  1.   

    可以在web.config中加入以下代码:
    <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>不过对于繁体的,就不知道会不会有问题了:)
      

  2.   

    呵.這個我知道!~這只是轉換簡繁體代碼,可能你沒明白我的意思,我意思是在講.
    數據庫中存的字符串不是正常的簡體字或者繁體字,而是以Unicode編碼原則存在,所以在輸出的時候會出現不把Unicode的編碼轉換成正常的字,但是直接輸出<%# dataSet.FieldValue("enterpriseName", Container) %>這一句的話是會正常顯示.但是加在<asp:textBox ID="enterpriseName" Text='<%# dataSet.FieldValue("enterpriseName", Container) %>' runat="server"/>這裹面就不會正常顯示了,而是顯示Unicode碼!~如下這種:
    &#33487;州&#21551;&#21326;
      

  3.   

    up..那位高手能幫忙解決一下???
    為什麼不加在asp控件中則能正常顯示,而加在textBox控件中就不行了呢?
      

  4.   

    可以在web.config中加入以下代码:
    <globalization requestEncoding="gb2312" responseEncoding="utf-8"/>数据库字段设置为nvarchar
      

  5.   

    還是沒用!~!~我web.config中有設置這麼一段編碼方式!~
    <globalization fileEncoding="big5" requestEncoding="big5" responseEncoding="big5" />然後數據庫中存的值則是unicode碼,所以這樣輸出還是Unicode碼.
    <asp:textBox ID="enterpriseName" Text='<%# dataSet.FieldValue("enterpriseName", Container) %>' runat="server"/>
    而下面這種輸出則不會是Unicode碼,而是正常字體!~
    <%# dataSet.FieldValue("enterpriseName", Container) %>
    我想是不是asp控件在服務器端執行所以web.config的設置不起作用????誰知道如何解決,在此感謝!~