【发布时间】:2019-03-26 10:13:35
【问题描述】:
我正在通过 API 解析一些 XML 文本而不保存实际文件,并且当文本包含来自其他语言的字符时遇到了问题。
当尝试转换 'ë' 或类似的其他字符时,我最终会使用文本 é。有没有办法在内存中更改变量的编码,因为我没有使用任何文件。
任何帮助将不胜感激。
【问题讨论】:
-
您至少需要向我们展示您用于更改文本的代码,最好是首先如何获取数据,因为您可能在那里有更好的控制权。
-
我在想 $results = Invoke-RestMethod -Uri $uri -Method Post -Body $body 不会提供太多信息。从那里我对结果进行 foreach 并将其添加到数组
code $newArrayItemC | Add-Member -type NoteProperty -Name 'mbid' -Value ($conAtt.'#text') }最后一部分code$conAtt.'#text'对我来说是自动转换的,我需要找到一种方法来强制对变量进行编码,因为我已经意识到由于 powershell 正在为我做一些转换,我将无法只追踪原始数据。 -
我试图引起更多注意的是:您用于更改文本的代码,是的,您显示的代码确实没办法,但我们能看到
$uri和$body吗? -
当我在上面展开时,我没有做任何事情来更改文本。在问题的根源上,我试图找到一种在不使用文件的情况下强制对变量进行编码的方法。
-
你想像
-ContentType 'application/json; charset=utf-8'一样调整吗?当你说我没有做任何事情来更改文本时,尝试转换时也会令人困惑。。我当时没有看到你的扩展评论。因此,当您将其打印到文件时看起来不错?或者你的意思是那是你应该看到的角色?
标签: powershell encoding character-encoding