今天遇到了一個有點詭異的問題
在網頁上點連接時應該要連到下面這個網址
http://[某某網址]/index.html
結果連過去後卻發現異常無法顯示
實在是有點奇怪
難道是連結網址貼錯嗎???
立馬複製瀏覽器上的網址貼到記事本一看
http://[某某網址]/index.html%E2%80%8B
怎麼會多出了一段%E2%80%8B
於是又馬上去檢查檔案
<a herf="http://[某某網址]/index.html">
沒錯啊!!!~~~~~
那我看到的那段UrlEncode "%E2%80%8B" 又是怎麼一回事呢?
在google大神的大力相助一下
我找到了一些答案
應該是因為現在大家習慣Ctrl+C Ctrl+V
網址有可能來源是word 有時候存在記事本
也有可能是sublime Dreamweaver notepad++ ...等
大家複製來複製去的過程中不知道在哪個編輯器上順手就帶上了"%E2%80%8B"
我找到的答案應該是這樣 還望高人指點...
補充一下這兩篇也有提到這個問題 底下回覆有人是因為從MS word複製網址後出現"%E2%80%8B"
https://premium.wpmudev.org/forums/topic/something-is-breaking-my-links-with-
https://forums.digitalpoint.com/threads/why-are-some-of-my-urls-getting-appended-with-e2-80-8e.2716588/
如果是C#的話可以用以下方式解決這個麻煩
MailItem.Body.Replace("\u200B", "");
參考這篇:
http://stackoverflow.com/questions/24942167/simplest-way-to-get-rid-of-zero-width-space-in-c-sharp-string
如果是Javascript的話可以用正規式的方式處理
參考這篇:
http://zhi-yuan-chenge.blogspot.tw/2015/10/jsie-buge2808e.html
沒有留言:
張貼留言