Invoke-WebRequest和希伯来字符

问题描述:

我已经尝试了PS的reghack来支持希伯来字符。我可以键入希伯来语没有问题,但由于某些原因,从Invoke-WebRequest返回的包含希伯来语的字符处于乱码状态(请参见以下屏幕截图)。Invoke-WebRequest和希伯来字符

enter image description here

下面是该网站的网址,我试图查询: https://www.hometheater.co.il/vt278553.html

更新: 它看起来像内容类型返回始终是字符集的Windows-1255这可能是问题。

+0

这可能仅仅是一个可视化的问题。你有没有尝试将内容写入文件?你可以这样做,例如作为Invoke-WebRequest $ muUrl |设置内容output.txt – bergmeister

+0

刚刚尝试过。同样的东西 - 胡言乱语。 – JustAGuy

这似乎不仅是必须指定编码的问题,而且shell不能正确显示编码。如果你指定编码到一个文件并用一个体面的文本编辑器(不是记事本,但是例如Notepad ++)编辑它,那么你将会看到它已经正确地解析了它。

Invoke-WebRequest -Uri "https://www.hometheater.co.il/vt278553.html" -ContentType "text/plain; charset=Windows-1255" -OutFile content.txt 

我们还可以测试内存中的表现是通过读取它并将其写入到另一个文件正确:

Get-Content .\content.txt | Set-Content test.txt 
+0

您是否验证过?即使通过Notepad ++,我也能得到完​​全相同的结果。 – JustAGuy

+0

其实第一行工作得很好。你做的重新编码搞砸了。 – JustAGuy

+0

嗨,我做了一个小修复,以便第二行现在也应该工作(之前只因为我的环境而工作)。第二行的目的是证明PowerShell对象本身也可以。 – bergmeister