【转载】App.config/Web.config 中特殊字符的处理
寫一個(gè)網(wǎng)站,遇到一個(gè)問題,發(fā)布以后,提示錯(cuò)誤,但是即使打開錯(cuò)誤提示(在web.config中打開),還是只提示錯(cuò)誤,沒提示什么地方錯(cuò)誤,這讓我知道了:是webconfig本身的錯(cuò)誤,經(jīng)過排除,是鏈接字符串中的特殊字符造成的!然后網(wǎng)上搜了一下,找到了這篇文章:
http://www.cnblogs.com/fordwayne/p/3200470.html
?
我們知道在應(yīng)用程序中嵌入連接字符串可能導(dǎo)致安全漏洞和維護(hù)問題。使用?Ildasm.exe(MSIL 反匯編程序)?工具可以查看編譯到應(yīng)用程序源代碼中的未加密連接字符串。此外,如果連接字符串發(fā)生更改,則必須重新編譯應(yīng)用程序。因此,強(qiáng)烈建議將連接字符串存儲(chǔ)在應(yīng)用程序配置文件中。
最近在學(xué)習(xí)SQL Server時(shí)遇到連接字符串包含特殊字符出現(xiàn)編譯錯(cuò)誤的問題。
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>
?
由于數(shù)據(jù)庫連接的密碼中含有特殊字符"&",編譯時(shí)出現(xiàn)如下如下錯(cuò)誤信息:
顯然編譯器不認(rèn)識(shí)"&456",怎么解決呢,總不能更換密碼吧?
事實(shí)上App.config是xml文件,在xml文件中特殊字符要進(jìn)行HTML轉(zhuǎn)義。
HTML中<,>,&等有特殊含義(<,>,用于鏈接簽,&用于轉(zhuǎn)義),不能直接使用。這些符號是不顯示在我們最終看到的網(wǎng)頁里的,那如果我們希望在網(wǎng)頁中顯示這些符號,就要用到HTML轉(zhuǎn)義字符串(Escape Sequence)了
?
HTML特殊轉(zhuǎn)義字符列表
最常用的字符實(shí)體
| 顯示 | 說明 | 實(shí)體名稱 | 實(shí)體編號 |
| ? | 空格 | |   |
| < | 小于 | < | < |
| > | 大于 | > | > |
| & | &符號 | & | & |
| " | 雙引號 | " | " |
| ? | 版權(quán) | © | © |
| ? | 已注冊商標(biāo) | ® | ® |
| ? | 商標(biāo)(美國) | ? | ™ |
| × | 乘號 | × | × |
| ÷ | 除號 | ÷ | ÷ |
所以只要把"&"進(jìn)行轉(zhuǎn)義就可以了,將PassWord改為
PassWord=123&456"
成功通過編譯。
轉(zhuǎn)載于:https://www.cnblogs.com/iguxiaobei/p/3442052.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的【转载】App.config/Web.config 中特殊字符的处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ***
- 下一篇: 陶哲轩实分析 定理 13.1.5