0

我有应用程序在 facebook API 中读取位置的 json 我尝试在韩国读取位置 json 中的字符串是:

"名称": "\uc9c0\uc9c0\ud5a5",

我得到的结果:

项目[“名称”].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 回答