为什么查询字符串不是英文字符,$_SERVER'HTTP_REFERER'和Request.ServerVariables("HTTP_REFERER")会返回不同的结果?
php返回正确的值,但asp不会:
php:сабака
asp:ׁ׀°׀±׀°׀÷׀°
发布于 2010-05-31 23:25:59
根据RFC 2616的规定,不在ISO- 8859-1中的字符应该进行特殊编码。因此,看起来无论是谁给你发送了标题,他都违反了规范。请参阅字段-内容和文本。
4.2 Message Headers
message-header = field-name ":“field-value field-name = token field-value = *( field-content | LWS ) field-content =<构成字段值的二进制八位数,由*文本或标记、分隔符和引号字符串的组合组成>
2.2 Basic Rules
TEXT =<除CTL以外的任何八位字节,但包括LWS>
文本规则仅用于消息解析器不打算解释的描述性字段内容和值。只有在按照RFC2047[14]的规则进行编码时,*文本的单词才能包含非ISO- 8859-1 22字符集的字符。
https://stackoverflow.com/questions/2942958
复制相似问题