【问题标题】:Invoke-WebRequest and Hebrew charactersInvoke-WebRequest 和希伯来字符
【发布时间】:2017-09-30 09:44:28
【问题描述】:

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

这是我尝试查询的网站 URL: https://www.hometheater.co.il/vt278553.html

更新: 看起来返回的内容类型总是字符集 Windows-1255,这可能是问题所在。

【问题讨论】:

  • 这可能只是一个可视化问题。您是否尝试将内容写入文件?你可以这样做,例如作为 Invoke-WebRequest $muUrl |设置内容输出.txt
  • 刚试过。同样的事情 - 胡言乱语。

标签: powershell hebrew


【解决方案1】:

这似乎不仅是必须指定编码的问题,而且外壳无法正确显示编码。如果您指定文件的编码并使用像样的文本编辑器(不是记事本,但例如 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

【讨论】:

  • 你验证了吗?即使通过记事本++,我也得到了完全相同的东西。
  • 实际上第一行运行良好。你所做的重新编码把它搞砸了。
  • 嗨,我做了一个小修复,以便第二行现在也可以工作(之前只是因为我的环境而工作)。第 2 行的目的是证明 PowerShell 对象本身也可以。
猜你喜欢
  • 2014-10-24
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
相关资源
最近更新 更多