- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Blackberry 应用程序中,我使用以下方法加载 JSON。
private static Object loadJson(String uriStr){
Object _json = null;
Message response = null;
BlockingSenderDestination bsd = null;
try
{
bsd = (BlockingSenderDestination)
DestinationFactory.getSenderDestination
("CommAPISample", URI.create(uriStr));
if(bsd == null)
{
bsd =
DestinationFactory.createBlockingSenderDestination
(new Context("CommAPISample"),
URI.create(uriStr), new JSONMessageProcessor()
);
}
response = bsd.sendReceive();
_json = response.getObjectPayload();
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
if(bsd != null)
{
bsd.release();
}
}
return _json;
}
这工作正常。但问题是当我获取 JSON 时,阿拉伯字符显示为垃圾
(الرØϙŠØ³ التنÙ) .我已将此问题提交给 Blackberry 支持表单
Arabic shows corrupted in the JSON output
根据讨论,我将阿拉伯字符编码为\uxxxx 格式(在我的服务器端应用程序中)并且它正在工作。但现在我必须使用其他人提供的 JSON,而我无法更改服务器端代码。
他们正在使用 asp.net C# ,根据他们的说法,他们发送的数据如下所示。
JsonResult result = new JsonResult();
result.ContentEncoding = System.Text.Encoding.UTF8;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
result.Data = “Data Object (Contains Arabic) comes here”
return result;
所以我的问题是,如果服务器按照上述方式提供数据,BlockingSenderDestination.sendReceive方法可以得到utf-8数据吗?或者它只期望非 ascii 的\uxxxx 编码数据。或者我必须做其他事情(比如向服务器发送一些 header ),以便我可以直接使用 utf-8 数据。
在 Debug模式下,我检查“响应”的值。它已经显示垃圾字符。
除了 JSON 之外,我还可以在其他地方处理阿拉伯语。
昨天我发布了这个issue in Blackberry form 。但到目前为止还没有回复。
我是黑莓和 Java 的新手。如果这是一个愚蠢的问题,我很抱歉。
提前致谢。
最佳答案
响应中的内容类型是什么?服务器是否在 HTTP header 中显式定义了 UTF-8 字符编码?例如:
内容类型:text/json;字符集=UTF-8
如果 API 忽略 HTTP 内容类型中的字符集,则执行字符串转换的更简单方法是确定接收到的消息是 ByteMessage 还是 StreamMessage。以字节数组形式检索消息,然后使用 UTF-8 编码转换为字符串
即:
Message msg = bsd.sendReceive();
byte[] msgBytes = null;
if (msg instanceof ByteMessage) {
msgBytes = ((ByteMessage) msg).getBytePayload();
}
else { /* StreamMessage */
// TODO read the bytes from the stream into a byte array
}
return new String(msgBytes,"UTF-8");
关于c# - BlockingSenderDestination.sendReceive() UTF-8 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5000019/
我正在尝试使用 https 将 spray-client 连接到受限的 rest api。问题是远程服务器的证书未注册为受信任的,简单的 Get() 连接随后被 SSLHandshakeExcepti
在我的 Blackberry 应用程序中,我使用以下方法加载 JSON。 private static Object loadJson(String uriStr){ Object _jso
这个问题在这里已经有了答案: MPI_Scatter - sending columns of 2D array (3 个答案) 关闭 8 年前。 我的程序需要在进程之间分散一个矩阵。该矩阵在内存中
因此,作为我的工作流程的一部分,我需要调用外部 WCF 服务来检索一些对象。问题是我看不到如何模拟发送事件将调用的 WCF 服务。有谁知道我该怎么做? 谢谢,约翰 最佳答案 到目前为止,我找到的最佳答
我是一名优秀的程序员,十分优秀!