寫一個網站,遇到一個問題,發佈之後,提示錯誤,可是即便打開錯誤提示(在web.config中打開),仍是隻提示錯誤,沒提示什麼地方錯誤,這讓我知道了:是webconfig自己的錯誤,通過排除,是連接字符串中的特殊字符形成的!而後網上搜了一下,找到了這篇文章:html
http://www.cnblogs.com/fordwayne/p/3200470.htmlweb
咱們知道在應用程序中嵌入鏈接字符串可能致使安全漏洞和維護問題。使用 Ildasm.exe(MSIL 反彙編程序) 工具能夠查看編譯到應用程序源代碼中的未加密鏈接字符串。此外,若是鏈接字符串發生更改,則必須從新編譯應用程序。所以,強烈建議將鏈接字符串存儲在應用程序配置文件中。數據庫
最近在學習SQL Server時遇到鏈接字符串包含特殊字符出現編譯錯誤的問題。編程
App.config:安全
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <connectionStrings> <add name="DBconnStr" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;PassWord=123&456"/> </connectionStrings> </configuration>
因爲數據庫鏈接的密碼中含有特殊字符"&",編譯時出現以下以下錯誤信息:ide
顯然編譯器不認識"&456",怎麼解決呢,總不能更換密碼吧?工具
事實上App.config是xml文件,在xml文件中特殊字符要進行HTML轉義。學習
HTML中<,>,&等有特殊含義(<,>,用於連接籤,&用於轉義),不能直接使用。這些符號是不顯示在咱們最終看到的網頁裏的,那若是咱們但願在網頁中顯示這些符號,就要用到HTML轉義字符串(Escape Sequence)了網站
HTML特殊轉義字符列表加密
最經常使用的字符實體
顯示 |
說明 |
實體名稱 |
實體編號 |
空格 |
|
  |
|
< |
小於 |
< |
< |
> |
大於 |
> |
> |
& |
&符號 |
& |
& |
" |
雙引號 |
" |
" |
© |
版權 |
© |
© |
® |
已註冊商標 |
® |
® |
™ |
商標(美國) |
™ |
™ |
× |
乘號 |
× |
× |
÷ |
除號 |
÷ |
÷ |
因此只要把"&"進行轉義就能夠了,將PassWord改成
PassWord=123&456"
成功經過編譯。