10

我正在尝试使用 Invoke-WebRequest 将特殊字符(挪威语)发送到 ASP .NET MVC4 API 控制器。

我的问题是,如果我的 json 数据包含像 Æ Ø Å 这样的字符,控制器接收到的 json 对象显示为 NULL。

我的代码示例:

$text = 'Æ Ø Å'
$jsondata = $text | ConvertTo-Json
Invoke-WebRequest -Method POST -Uri http://contoso.com/create -ContentType 'application/json; charset=utf8' -Body $jsondata

同样,在 fiddler 中查找时,字符会像通常奇怪的 utf8 框一样出现。

将 json 数据从提琴手发送到同一个 API 控制器工作正常

有什么建议吗?

4

1 回答 1

31

对于Body参数试试这个:

... -Body ([System.Text.Encoding]::UTF8.GetBytes($jsondata))

PowerShell 中的字符串是 Unicode,但您已经指定了 UTF8 编码,所以我认为您需要帮助它获取 UTF8。

于 2013-03-08T17:04:39.213 回答