让我说我有这个代码:
use strict;
use LWP qw ( get );
my $content = get ( "http://www.msn.co.il" );
print STDERR $content;
Run Code Online (Sandbox Code Playgroud)
错误日志显示类似"\ xd7\x9c\xd7\x94\xd7\x93\xd7\xa4\xd7\xa1\xd7\x94",我猜它是utf-16?
该网站的编码是与
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1255">
Run Code Online (Sandbox Code Playgroud)
那么为什么这些角色出现而不是windows-1255字符呢?
而另一个奇怪的事情是我有两台服务器:
第一台服务器返回CP1255字符,我可以简单地将其转换为utf8,当前服务器给我这些字符,我不能用它做任何事情......
apache/perl/module中是否有任何配置文件搞乱了编码?强迫某事......?
我的网站在第二台服务器上的结果是perl文件和标题都是utf8,所以当我写的文字不是英文字符时,上面例子中的内容显示正常(即使它是奇怪的字符) )但我自己的静态文本看起来像"×ס××××××:"
我测试的另一件事是......
通过perl:
my $content = `curl "http://www.anglo-saxon.co.il"`;
Run Code Online (Sandbox Code Playgroud)
我得到utf8编码.
通过Bash:
curl "http://www.anglo-saxon.co.il"
Run Code Online (Sandbox Code Playgroud)
在这里我得到CP1255(Windows-1255)编码...
此外,当我在bash中运行脚本时 - 它提供了CP1255,并且当它通过网络运行时 - 然后它再次是utf8 ...
通过改变utf8中的内容来修复问题 - 应该是什么,然后回到utf8:
use Text::Iconv;
my $converter = Text::Iconv->new("utf8", "CP1255");
$content=$converter->convert($content);
my $converter = Text::Iconv->new("CP1255", "utf8");
$content=$converter->convert($content);
Run Code Online (Sandbox Code Playgroud) 有谁知道在ASP.NET 5中是否有替换HttpResponse.ContentEncoding?https://msdn.microsoft.com/en-us/library/system.web.httpresponse.contentencoding(v=vs.110).aspx
这个问题符合标题.我对规范推荐的内容不感兴趣,但目前部署的浏览器组合支持最佳.
所以我认为我的问题的答案是肯定的,为所有浏览器gzip JS都没关系.但如果你不同意,你会告诉我的.
我目前正在研究一个代理服务器,我们在这种情况下必须修改我们推送它的数据(通过使用regexp).
在大多数情况下它工作正常,除了使用gzip作为内容编码的网站(我认为),我遇到了一个名为compress的模块,并尝试通过解压缩/ gunzip流来推送我收到的块但是它不是真的像我预期的那样结果.
我想知道我是否正朝着正确的方向前进,如果有更多的模块可以让我的生活更轻松(关于gzip压缩).
格尔茨,
本杰明
gzip ×2
asp.net-core ×1
compression ×1
http ×1
javascript ×1
lwp ×1
node.js ×1
perl ×1
proxy ×1
windows-1255 ×1