|
Thursday, 17 March 2005 17:07 |
|
自己先测试一下:许功盖 許功蓋 許功蓋的沖碼,主要來自這幾個字的字碼後一碼剛好是 0x5C 而也正好是反斜線(\) 反斜線剛好是很多程式語言中用來表示特殊字元的方式 例如 \n 表示強迫斷行 \" 表示一個雙引號 " \\ 則表示一個反斜線 \ 。
 上圖中可以看到,許功蓋這三個字元的後一個字碼都正好是 5C,因為造成特殊字元的誤判,先來下面這段程式 <?php $s = "許功蓋"; echo $s; ?> 看起來是很正常簡單的二行程式,實際卻會產生 Parse error? 因為蓋的最後一個字元是 \ 剛好遇上字串結束的 " 於是就變成了 \" 的特殊字元,變成了這個字串中的其中一個字元,造成這行程式碼沒有右邊的結束碼,所以這一行實際上是\r $s = "許\功\蓋\"; 這樣就明白錯誤的原因了吧。 至于怎么解决?那就见仁见智了,或者加上几个斜杠,或者把斜杠去掉。 本文只是介绍这个问题,解决嘛,以后有空再说。
|