1
我在我的MsSql数据库中有一些数据,并通过Csharp Web Apis将它们发送到我的Android应用程序。 nvarchar字段中有一些unicode字符。字符串数据的中间。例如:'F \ u2081大于F''我怎样才能摆脱我在数据库中保存的双字(\)
数据继续以移动应用程序为“F \ u2081大于F \ u2082”。所以unicode字符永远不会成功显示。
我搜索并尝试了很多方法,但迄今为止没有成功。 您可以测试并查看web api的结果(帖子) http://www.kelimex.com.tr/teogapi/api/Fen
在结果视图中,“消息”字段数据来自数据库。 但是,“解释”字段数据由我在web api的源代码中输入。
正如你所看到的,在“解释”字段中没有问题。但是“消息”字段不断显示不正确。
有没有人在这个问题上有任何经验?
这是csharp代码,它从Sql中提取数据并返回web api列表。目前没有编码解码等等......无论如何它们都无法工作。
public List<Result> test()
{
List<Result> list = new List<Result>();
if (ConnectToDB())
{
try
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("__tm_test", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.Fill(ds, "ds");
if (ds.Tables.Count > 0)
{
Result item = new Result();
item.statusCode = 1;
item.status = true;
item.message = ds.Tables[0].Rows[0]["FieldNVarchar"].ToString();
item.explanation = "F\u2081 is greater than F\u2082";
list.Add(item);
}
ds.Dispose();
da.Dispose();
}
catch (Exception e)
{
}
}
return list;
}
我试图在网络API使用HttpUtility.UrlEncodeUnicode和HttpUtility.UrlEncode UTF-8,并使用URLDecoder.decode UTF-8,UTF-16和Unicode Android中的java解析数据。没有成功。 – Yavuz