0

Facebook APIで場所のjsonを読み取るアプリケーションがあります。韓国の場所を読み取ろうとしました。jsonの文字列は次のとおりです。

"名前": "\uc9c0\uc9c0\ud5a5",

私が持っている結果:

Item["名前"].ToString() = [][][][]

どうすれば正しくエンコードできますか?

私はもう試した:

 Encoding korenEncoding = Encoding.GetEncoding(50225);
byte[] convertedToUtf8 = Encoding.Convert(korenEncoding,Encoding.UTF8,korenEncoding.GetBytes(Item["name"].ToString()));
string name = Encoding.UTF8.GetString(convertedToUtf8);

そして、それはうまくいきませんでした、ありがとう

4

1 に答える 1

4

jsonを逆シリアル化するために何を使用していますか? で試してみましたがSystem.Runtime.Serialization.Json、正しくデコードされます。また、データベースの列が Unicode データをサポートしていることを確認してください

[DataContract]
class thinger
{
    [DataMember]
    public string name;
}

string snip = @"{""name"": ""\uc9c0\uc9c0\ud5a5""}";
Byte[] bytes = Encoding.Unicode.GetBytes(snip);
MemoryStream jsonstream = new MemoryStream(bytes);
jsonstream.Write(bytes, 0, bytes.Length);
jsonstream.Seek(0, SeekOrigin.Begin);

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(thinger));
thinger output = (thinger)ser.ReadObject(jsonstream);

//output.name = 지지향
于 2012-10-26T14:17:35.787 に答える