0

我有一个响应 json 数据的 api,其中还包含马拉雅拉姆语单字符和英文单字符。它在phonegap中工作正常。但是当我尝试在黑莓本机(Java)中获得此响应时,我得到了不同的字符响应。

我在 phonegap 和 android native 中得到的响应。

在此处输入图像描述

我在黑莓 7 原生中得到的响应。

在此处输入图像描述

如何解决这个问题请帮助我

4

1 回答 1

2

当您收到字节时,您会将它们放入字节缓冲区中。因为这是 JSON,所以您将其转换为字符串。你可能只是这样做:

字符串 jsonString = new String(jsonBytes);

但是因为 json 数据可能是 UTF-8 编码的,所以你实际上需要这样做:

字符串 jsonString - 新字符串(jsonBytes,“UTF-8”);

我假设您的服务器实际上使用的是 UTF-8 编码。您的服务器应设置一个标头而不是指定此标头。您真的应该在响应中检查这一点。但我猜是UTF-8。

如果这种事情让你失望,我建议你搜索一下关于字符编码的信息。这可能是一个很好的起点:http ://en.wikipedia.org/wiki/UTF-8

于 2013-08-22T14:20:12.657 回答