2013-03-08 13 views
6

özel karakterler ile sorunu.ınvoke WebRequest - Ben bir ASP .NET MVC4 API kontrolöre ınvoke WebRequest kullanarak (Norveç) özel karakterler göndermeye çalışıyorum json

Benim sorun benim json veri Æ Ø Å gibi karakterler içeriyorsa, denetleyici tarafından alındığında json nesnesi NULL olarak gösterilir olmasıdır.

benim kod örneği: fiddler içinde ararken

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

Ayrıca karakterler her zamanki garip utf8 kutuları gibi açın.

aynı API kontrolöre Fiddler'dan json veri gönderme ince

Herhangi tavsiyelerde çalışır?

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

PowerShell dize Unicode ama bunu UTF8 alma yardıma vermelisiniz böylece bir UTF8 kodlaması belirttiğiniz:

+0

denemek ve sorunu daraltmak için Fiddler kadar yangın miyim? –

+0

'POST http: // localhost: 51212/api/HTTP/1.1 ekle \t Kullanıcı Aracısı: Mozilla/5.0 (Windows NT; Windows NT 6.1; nb-NO) WindowsPowerShell/3.0 \t İçerik Türü: uygulama/json ; charset = utf-8 \t Host: localhost: 51212 \t İçerik-Uzunluk: \t \t ' –

cevap

19

Body parametresi için bu deneyin.

+0

3 Ben ps dosyası UTF8 olduğundan dize zaten UTF8'i olduğunu düşünme inançsızlık oldu, teşekkürler . Ben benzer bir sorunu çarptı ve ağrı bir çok engelledi zaman –

+1

@Keith Tepesi, bu cevap sadece tamamen beni kurtardı. Sorunun Unicode -> UTF8 olduğunu düşünmezdim. +1 –

İlgili konular