最近定做安裝程序,因為這次定做名字里有&符號,用微軟的txt文本打開配置文件,在配置文件里修改了名稱,名稱在文本里顯示正常,但是定做出來后,發現&符號變成了_下划線,在本來的&符號后面的字母下方多了個下划線。
我試了試,前后的字母離開一個空格,再定做了一次,發現還是顯示成下划線,兩個字母之間有個下划線出現。
之后,把所有名字都刪除了,復制了多個&,然后定做了一個試試,發現前面顯示了幾個&符號,然后我又試驗了兩個&&符號,發現兩個&&符號顯示正常了,定做安裝界面上顯示一個&符號。
這個問題比較奇怪,上網搜索沒有發現相關內容,一個“&”符號顯示成了“_”下划線,兩個&&就正常了,可以顯示出一個&符號。
個人又測試了&&&###***@@@$$$這個字符串,結果是一個&,后面有三個#號,第一個#下有下划線,三個*號,三個@,三個$,也就是除了&需要兩個來顯示一個,其余的測試幾個符號沒有問題。
原因不明,如果出問題的時候,可以用兩個字符符號試試。
如果是HTML輸出一些特殊符號,可以用字符實體,把這些符號輸出到瀏覽器中,最常用的就是空格的字符實體,瀏覽器總是會截短 HTML頁面中的空格,如下面的圖示,代碼里少量空格和大量空格效果是一樣的,如果要實際增加空格的個數,就需要用多個空格的字符實體。
常用的除了空格,還有大於和小於號,在html標簽里,大於小於好代碼標簽的開始結束,之前更新歷史記錄的時候,用到過需要輸出script標簽。
測試代碼:如圖,是html中輸出&,空格,和大於小於號的方法。如果在LODOP中,用add_print_text純文本輸出,則只需要用符號本身就可以了,所有純文本輸出的都會當作純文本對待,不會通過瀏覽器解析。
這里 為了演示空格的存在,給空格加了背景色,但是實際在這寫代碼的時候,盡量不用給空格加span樣式,在lodop解析等中可能會出一些問題,之前有博文介紹過。
<div id="d1"> &符號:實體名稱&amp; :<span style="background-color:#b0f4f5;"><font color="red">&</font></span>;實體編號&#38;:<span style="background-color:#b0f4f5;"><font color="red">&</span></font>;<br> 空格符號:實體名稱&nbsp; :<span style="background-color:#b0f4f5;"> </span>;實體編號&#160;:<span style="background-color:#b0f4f5;"><font color="red"> </span></font>;<br> <span style="background-color:#b0f4f5;"> </span><br>一個&nbsp; 代碼里無空格<br> <span style="background-color:#b0f4f5;"> </span><br><br>一個&nbsp; 代碼里少量空格<br> <span style="background-color:#b0f4f5;"> </span><br><br>一個&#160; 代碼里無空格<br> <span style="background-color:#b0f4f5;">   </span><br><br>一個&#160;代碼里大量空格<br> -----------------------------------<br> 小於大於符號:實體名稱&lt;&gt; :<span style="background-color:#b0f4f5;"><></span>;實體編號&#60;&#62;<span style="background-color:#b0f4f5;"><font color="red"><></span></font>;<br> --------------------例如------------------<br> 輸出多個空格:空<span style="background-color:#b0f4f5;"> </span>格<br> 輸出html標簽:<span style="background-color:#b0f4f5;"><</span>script language="javascript" src="LodopFuncs.js"<span style="background-color:#b0f4f5;">></span></script><br> </div>
圖示: