Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pythonsocketserver&;Mobile Safari POST表单:具有unicode符号,但将“utf8”报告为“内容编码”`_Python_Http_Safari - Fatal编程技术网

pythonsocketserver&;Mobile Safari POST表单:具有unicode符号,但将“utf8”报告为“内容编码”`

pythonsocketserver&;Mobile Safari POST表单:具有unicode符号,但将“utf8”报告为“内容编码”`,python,http,safari,Python,Http,Safari,我有一个脚本,它解析从客户端通过HTTP发送的套接字读取的一些数据 在HTTP请求字段中,[Mobile]Safari[在模拟器中]将内容编码报告为utf8,但显然不是这样。例如,当我键入“某人的东西”时,它将撇号编码为0x0092(似乎是cp1252编码) 以前有没有人遇到过这个错误并找到了解决它的好方法?我不想丢弃字符或采用编码。客户端似乎使用的编码与HTTP头中声明的编码不同。在这种情况下,它在报头中指定utf-8,但实际编码是cp1252 您可以尝试使用模块处理此问题 这并不是100%准

我有一个脚本,它解析从客户端通过HTTP发送的套接字读取的一些数据

在HTTP请求字段中,[Mobile]Safari[在模拟器中]将内容编码报告为
utf8
,但显然不是这样。例如,当我键入“某人的东西”时,它将撇号编码为
0x0092
(似乎是
cp1252
编码)


以前有没有人遇到过这个错误并找到了解决它的好方法?我不想丢弃字符或采用编码。

客户端似乎使用的编码与HTTP头中声明的编码不同。在这种情况下,它在报头中指定utf-8,但实际编码是cp1252

您可以尝试使用模块处理此问题

这并不是100%准确,但是如果客户机打算谎报它使用的编码,那么这可能会有所帮助

>>> import chardet
>>> chardet.detect(b'abcd')
{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
>>> chardet.detect(b'abcd\x92')
{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}