&timestamp變成×tamp問題

涼茶微涼發表於2018-06-10

     之前做的專案有一個返回給前端瀏覽器重定向的地址,一直都是正常的,突然被告知返回的URL不對,每次&timestamp=時間戳都變成×tamp=時間戳,突然懵逼了,專案上線一年多來一直正常執行,趕緊試了試發現還是正常的。接著看異常截圖,發現是瀏覽器中顯示的都是×tamp=時間戳這種,查詢了後臺日誌發現都是&timestamp=時間戳這種,突然想到是不是瀏覽器轉義的問題,一查果然是。

解決辦法有:

1:把timestamp=時間戳這個引數放到最前面沒有&符號就不好被轉義了,但是我的這個專案引數是按ASCII碼升序排列的,不適合;

2:再有一種方法是把&改為&   記得加分號),把引數中的所有&符號改為& ,這個可以。但考慮到專案一直正常在執行最近並沒有版本上線,故放棄修改,保持原樣,同時通知前端該問題可以忽略(查詢時需要留意一下,但實際不影響使用)。

附:HTML轉義字元

為什麼要用轉義字串?

HTML中<,>,&等有特殊含義(<,>,用於連結籤,&用於轉義),不能直接使用。這些符號是不顯示在我們最終看到的網頁裡的,那如果我們希望在網頁中顯示這些符號,該怎麼辦呢?

這就要說到HTML轉義字串(Escape Sequence)了。

轉義字串(Escape Sequence)也稱字元實體(Character Entity)。在HTML中,定義轉義字串的原因有兩個:第一個原因是像“<”和“>”這類符號已經用來表示HTML標籤,因此就不能直 接當作文字中的符號來使用。為了在HTML文件中使用這些符號,就需要定義它的轉義字串。當解釋程式遇到這類字串時就把它解釋為真實的字元。在輸入轉 義字串時,要嚴格遵守字母大小寫的規則。第二個原因是,有些字元在ASCII字符集中沒有定義,因此需要使用轉義字串來表示。

轉義字串的組成

轉義字串(Escape Sequence),即字元實體(Character Entity)分成三部分:第一部分是一個&符號,英文叫ampersand;第二部分是實體(Entity)名字或者是#加上實體(Entity)編號;第三部分是一個分號。

比如,要顯示小於號(<),就可以寫 &lt; 或者 &#60; 。

用實體(Entity)名字的好處是比較好理解,一看lt,大概就猜出是less than的意思,但是其劣勢在於並不是所有的瀏覽器都支援最新的Entity名字。而實體(Entity)編號,各種瀏覽器都能處理。

提示:實體名稱(Entity)是區分大小寫的。

備註:同一個符號,可以用“實體名稱”和“實體編號”兩種方式引用,“實體名稱”的優勢在於便於記憶,但不能保證所有的瀏覽器都能順利識別它,而“實體編號”則沒有這種擔憂,但它實在不方便記憶。

不間斷空格(non-breaking space)

     HTML 中的常用字元實體是不間斷空格(&nbsp;)。通常情況下,HTML會自動截去多餘的空格。不管你加多少空格,都被看做一個空格。比如你在兩個字之間加了10個空格,HTML會截去9個空格,只保留一個。為了在網頁中增加空格,你可以使用&nbsp;表示空格。


HTML 中有用的字元實體

註釋:實體名稱對大小寫敏感!

顯示結果描述實體名稱實體編號
 空格&nbsp;&#160;
<小於號&lt;&#60;
>大於號&gt;&#62;
&和號&amp;&#38;
"引號&quot;&#34;
'撇號 &apos; (IE不支援)&#39;
分(cent)&cent;&#162;
£鎊(pound)&pound;&#163;
¥元(yen)&yen;&#165;
歐元(euro)&euro;&#8364;
§小節&sect;&#167;
©版權(copyright)&copy;&#169;
®註冊商標&reg;&#174;
商標&trade;&#8482;
×乘號&times;&#215;
÷除號&divide;&#247;

HTML 4.01 支援 ISO 8859-1 (Latin-1) 字符集。

ISO-8859-1 的較低部分(從 1 到 127 之間的程式碼)是最初的 7 位元 ASCII。

ISO-8859-1 的較高部分(從 160 到 255 之間的程式碼)全都有實體名稱。

這些符號中的大多數都可以在不進行實體引用的情況下使用,但是實體名稱或實體編號為那些不容易通過鍵盤鍵入的符號提供了表達的方法。

註釋:實體名稱對大小寫敏感。

帶有實體名稱的 ASCII 實體

結果描述實體名稱實體編號
"quotation mark&quot;&#34;
'apostrophe &apos;&#39;
&ampersand&amp;&#38;
<less-than&lt;&#60;
>greater-than&gt;&#62;

ISO 8859-1 符號實體

結果描述實體名稱實體編號
 non-breaking space&nbsp;&#160;
¡inverted exclamation mark&iexcl;&#161;
¢cent&cent;&#162;
£pound&pound;&#163;
¤currency&curren;&#164;
¥yen&yen;&#165;
¦broken vertical bar&brvbar;&#166;
§section&sect;&#167;
¨spacing diaeresis&uml;&#168;
©copyright&copy;&#169;
ªfeminine ordinal indicator&ordf;&#170;
«angle quotation mark (left)&laquo;&#171;
¬negation&not;&#172;
­soft hyphen&shy;&#173;
®registered trademark&reg;&#174;
¯spacing macron&macr;&#175;
°degree&deg;&#176;
±plus-or-minus &plusmn;&#177;
²superscript 2&sup2;&#178;
³superscript 3&sup3;&#179;
´spacing acute&acute;&#180;
µmicro&micro;&#181;
paragraph&para;&#182;
·middle dot&middot;&#183;
¸spacing cedilla&cedil;&#184;
¹superscript 1&sup1;&#185;
ºmasculine ordinal indicator&ordm;&#186;
»angle quotation mark (right)&raquo;&#187;
¼fraction 1/4&frac14;&#188;
½fraction 1/2&frac12;&#189;
¾fraction 3/4&frac34;&#190;
¿inverted question mark&iquest;&#191;
×multiplication&times;&#215;
÷division&divide;&#247;

ISO 8859-1 字元實體

結果描述實體名稱實體編號
Àcapital a, grave accent&Agrave;&#192;
Ácapital a, acute accent&Aacute;&#193;
Âcapital a, circumflex accent&Acirc;&#194;
Ãcapital a, tilde&Atilde;&#195;
Äcapital a, umlaut mark&Auml;&#196;
Åcapital a, ring&Aring;&#197;
Æcapital ae&AElig;&#198;
Çcapital c, cedilla&Ccedil;&#199;
Ècapital e, grave accent&Egrave;&#200;
Écapital e, acute accent&Eacute;&#201;
Êcapital e, circumflex accent&Ecirc;&#202;
Ëcapital e, umlaut mark&Euml;&#203;
Ìcapital i, grave accent&Igrave;&#204;
Ícapital i, acute accent&Iacute;&#205;
Îcapital i, circumflex accent&Icirc;&#206;
Ïcapital i, umlaut mark&Iuml;&#207;
Ðcapital eth, Icelandic&ETH;&#208;
Ñcapital n, tilde&Ntilde;&#209;
Òcapital o, grave accent&Ograve;&#210;
Ócapital o, acute accent&Oacute;&#211;
Ôcapital o, circumflex accent&Ocirc;&#212;
Õcapital o, tilde&Otilde;&#213;
Öcapital o, umlaut mark&Ouml;&#214;
Øcapital o, slash&Oslash;&#216;
Ùcapital u, grave accent&Ugrave;&#217;
Úcapital u, acute accent&Uacute;&#218;
Ûcapital u, circumflex accent&Ucirc;&#219;
Ücapital u, umlaut mark&Uuml;&#220;
Ýcapital y, acute accent&Yacute;&#221;
Þcapital THORN, Icelandic&THORN;&#222;
ßsmall sharp s, German&szlig;&#223;
àsmall a, grave accent&agrave;&#224;
ásmall a, acute accent&aacute;&#225;
âsmall a, circumflex accent&acirc;&#226;
ãsmall a, tilde&atilde;&#227;
äsmall a, umlaut mark&auml;&#228;
åsmall a, ring&aring;&#229;
æsmall ae&aelig;&#230;
çsmall c, cedilla&ccedil;&#231;
èsmall e, grave accent&egrave;&#232;
ésmall e, acute accent&eacute;&#233;
êsmall e, circumflex accent&ecirc;&#234;
ësmall e, umlaut mark&euml;&#235;
ìsmall i, grave accent&igrave;&#236;
ísmall i, acute accent&iacute;&#237;
îsmall i, circumflex accent&icirc;&#238;
ïsmall i, umlaut mark&iuml;&#239;
ðsmall eth, Icelandic&eth;&#240;
ñsmall n, tilde&ntilde;&#241;
òsmall o, grave accent&ograve;&#242;
ósmall o, acute accent&oacute;&#243;
ôsmall o, circumflex accent&ocirc;&#244;
õsmall o, tilde&otilde;&#245;
ösmall o, umlaut mark&ouml;&#246;
øsmall o, slash&oslash;&#248;
ùsmall u, grave accent&ugrave;&#249;
úsmall u, acute accent&uacute;&#250;
ûsmall u, circumflex accent&ucirc;&#251;
üsmall u, umlaut mark&uuml;&#252;
ýsmall y, acute accent&yacute;&#253;
þsmall thorn, Icelandic&thorn;&#254;
ÿsmall y, umlaut mark&yuml;&#255;
參考:http://www.w3school.com.cn/tags/html_ref_entities.html

相關文章