mysql - HTTP header 中的 unicode 用户代理是否合法?

标签 mysql http user-agent

我正在维护的一个应用程序使用“latin1”字符集将从 Web 日志中提取的用户代理加载到 MySQL 表列中。有时,它无法加载如下所示的用户代理:

Mozilla/5.0 (Iâ?; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML^C like Gecko) 版本

我怀疑它在 Iâ? 上窒息。我正在努力弄清楚是否应该支持它,或者它是否是由上游日志系统引入的损坏。这是 HTTP header 中的合法用户代理吗?

最佳答案

RFC 2616 (HTTP 1.1) says消息头内容必须是 “由 *TEXT 或标记、分隔符和引号字符串的组合组成”。如果您查看 definitions对于 TEXT 等,您会发现合法字符是那些字节值不在 [0, 31] 范围内且不等于 127 的字符;因此,据我所知,â 之类的字符符合规范。

关于mysql - HTTP header 中的 unicode 用户代理是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384741/

相关文章:

firefox - 使用 Protractor 在 Firefox 上设置用户代理并使用 seleniumAddress 不起作用

php - 插入后如何修复mysql列值

php - 使用PHP向mysql插入多维数组

php - 发送http响应后继续处理php

java - webdriver firefoxprofile 用户代理未按预期工作

regex - 使用 .htaccess 将桌面用户从移动站点重定向

MySQL查询优化,主键索引不使用?

mysql - 如何使用第二个表中的数据更新一个表

http - 在 firefox 中使用 in-url 基本身份验证

http - 检查是否更新网页