台灣最大程式設計社群網站
線上人數
1166
 
會員總數:246038
討論主題:189625
歡迎您免費加入會員
討論區列表 >> ASP.NET >> [NET]請教web.config的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[NET]請教web.config的問題
價值 : 0 QP  點閱數:8479 回應數:5
樓主

Allen 版主
高級顧問
81751 345
27808 17483
發送站內信

捐贈 VP 給 Allen
我在做ASP.Net 練習時, 如果keyin錯誤, 會顯示訊息說, 如果要能顯示錯誤行數, 必需在"Web 應用程式根目錄的組態檔" 中加入以下code
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

因此,我在網站根目錄下建立了web.config 並填入上述內容, 果然可以顯示錯誤發生的行數。

問題來了, 書中提及, 如果網頁無法顯示中文, 可以在config.web 中加入
<configuration>
    <globalization requestencoding="big5" responseencoding="big5" />
</configuration>

但如果我是將web.config改成
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
    <globalization requestencoding="big5" responseencoding="big5" />

</configuration>
反而會有錯誤。

目前我在網頁中是可以正常顯示中文, 因此不加這一行似乎也無所謂, 只是想弄清楚幾件事, 煩請有經驗的人告知:
1. 要放在根目錄的檔名應為web.config, 但書中說的是confg.web,是書中誤植, 或者, 我買的是 for Beta 1 的書呢?
2. 雖然目前可以正常顯示中文, 但日後若要能正常顯示其他國家語言(如日文), 那麼要寫在哪裡呢 ?

註:我買的書是"精通ASP.Net程式設計" 學貫, 2001/8 初版

本篇文章發表於2002-03-08 20:56
== 簽名檔 ==
=========================================
個人網站:http://www.webapp.com.tw/
Facebook粉絲頁-格子樑: https://www.facebook.com/wa.allenkuo/

ASP.NET 一對一教學資訊: http://www.webapp.com.tw/GenericArticle/view.aspx?id=1185
1樓
回應

sabcat
檢舉此回應
1.
就我所知的..confg.web應該是beta1的名稱
因為我手邊beta1的書都是寫confg.web

其實你也可以在網頁上加<@ Page Language="C#或VB" Debug="True" Trace="False" %>
來獲得完整的錯誤訊息...

2.
這問題我也遇到....但尚未找到答案
本篇文章回覆於2002-03-08 21:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
謝謝您的回覆,我剛才試著在<HEAD>區段中加入
<meta http-equiv="Content-Type" content="text/html; charset=big5">
無論是中big5, 或日文編碼,網頁內容似乎都不為所動, 可以正常顯示中文, 從Browser中看來, 預設為Unicode,若我將它改為繁體中文, 中文字反而會變成亂碼, 看來上述的編碼方式好像失效了!
本篇文章回覆於2002-03-08 21:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

sabcat
檢舉此回應
咦...看起來挺像我前幾個星期寫JSP時遇到的情況..
當Tomcat用3.2.1版時..中文一切正常..
但換用Tomcat4.01版...除了.htm的中文是正常外..
其它.jsp的檔中文都會變成西歐字..
加<meta> 也沒用...變成要自己寫
<@page contentType=text/html;charset=big5" %>才能解決...
所以....我猜...ASP.NET可能也是一樣的情況吧..
要自己用Page來指定編碼...但一切都是猜測而己..還不確定...
晚點有空去翻一下SDK看看@@~
本篇文章回覆於2002-03-08 22:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小元
檢舉此回應
你試試
<globalization requestEncoding="utf-8" responseEncoding="utf-8"  />
我是用微軟2月13發行的正式版~~
組態檔叫web.config
我想~~beta1是叫 web.config
beta2叫config.web
而正式版叫web.config吧~~
像你說的語言問題~~
我們公司也有這樣的問題~~因為公司的網站要做多國語言~~
所以我們的做法是在web.config把編碼設成utf-8
存到資料庫時存成Unicode~~

如果把web.config設成utf-8..不管我用什麼語系~~顯示的資料不會變亂碼~~
只要我把顯示的資料換成使用者的語系~~就OK
如果使用者在Web Form上Key入資料~~只要把資料存入資料庫時~~變成Unicode
將來在取出資料..秀在網頁上時就不會有問題~~
本篇文章回覆於2002-03-09 02:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Allen
捐贈 VP 給 Allen 檢舉此回應
謝謝小元的回覆, 目前我安裝VS.Net Beta2中文版, 經我測試後, 
1. 系統似乎只對web.config的存在有反應, 如果只存在config.web,則仍無法顯示錯誤行數, 
2. 在上述二檔中, 只要改成
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"  />

</configuration>
都變成無法顯示錯誤行數, 不知道您是否可以將該檔寄給我參考一下 ?

3. 不知道您所謂"把資料存入資料庫時~~變成Unicode" , 可否寫一段SQL Statement告知如何轉換 ? 我過陣子可能會需要輸入歐洲字母, 會需要它。

4. 上次您建議的C#書籍我已買回, 正在K當中, 謝謝您提供的資訊。
本篇文章回覆於2002-03-09 09:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.