3
爲什麼$ _ SERVER [ 'HTTP_REFERER'](PHP)和Request.ServerVariables( 「HTTP_REFERER」)(ASP)返回不同的結果,如果查詢字符串包含非英文字符?
PHP返回正確的值,但ASP將不會:
PHP:сабака
ASP:ׁ|°|±|°|÷|°
爲什麼$ _ SERVER [ 'HTTP_REFERER'](PHP)和Request.ServerVariables( 「HTTP_REFERER」)(ASP)返回不同的結果,如果查詢字符串包含非英文字符?
PHP返回正確的值,但ASP將不會:
PHP:сабака
ASP:ׁ|°|±|°|÷|°
據RFC 2616,字符無法在ISO- 8859-1應該被特別編碼。因此,看起來無論誰向你發送標題都違反了規範。請參閱字段內容和TEXT。
message-header = field-name ":" [ field-value ] field-name = token field-value = *(field-content | LWS) field-content = <the OCTETs making up the field-value and consisting of either *TEXT or combinations of token, separators, and quoted-string>
TEXT = <any OCTET except CTLs, but including LWS>
的TEXT規則僅用於描述性字段內容和被 並不意值,以由消息解析器被解釋。僅當按照RFC 2047 [14]的規則進行編碼時,* TEXT的字可能包含來自ISO-8859-1 [22]以外字符集的字符。
有趣的問題! ASP.NET是一個直接引用嗎?你怎麼輸出它? – 2010-05-31 10:47:08
如果您使用Web瀏覽器輸出,請查看頁面屬性中的編碼/字符集。 – VolkerK 2010-05-31 11:07:33
@Pekka,與響應寫在ASP和回聲在PHP – Sasha 2010-05-31 11:14:03