使用json的泰卢固语文本

时间:2012-10-31 12:32:47

标签: android json translation android-fonts

是否可以从服务器检索用泰卢固语编写的文本以便在应用程序中使用。我为Json使用了以下格式。它在avd的logcat中给出了一些符号错误。如果没有哪个适合获得这种文本。

{
"contacts": [
    {
            "id": "c200",
            "name": "అశ్విని",
            "email": "అశ్విని@అశ్విని.అశ్విని",
            "address": "అశ్విని",
            "gender" : "అశ్విని",
            "phone": {
                "mobile": "అశ్విని",
                "home": "అశ్విని",
                "office": " రేవతి"
            }
    },
    {
            "id": "c201",
            "name": "అశ్విని ram",
            "email": "అశ్విని@అశ్విని.అశ్విని",
            "address": "అశ్విని",
            "gender" : "అశ్విని",
            "phone": {
                "mobile": "అశ్విని",
                "home": "అశ్విని",
                "office": "అశ్విని"
            }
    }
]
} 

以下是我用来检索数据的代码

public class JSONParser {

static InputStream is = null;
static JSONObject jObj = null;
static String json = "";

// constructor
public JSONParser() {

}

public JSONObject getJSONFromUrl(String url) {

    // Making HTTP request
    try {
        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();           

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        json = sb.toString();
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String
    return jObj;

}
}

2 个答案:

答案 0 :(得分:1)

您需要在assets文件夹中使用NTR.TTF字体,并且应该更改

下面的行
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8000);

答案 1 :(得分:0)

JSON内容使用UTF-8作为默认字符集(请参阅RFC 4627,第3章)。您必须确保服务器返回具有正确编码AND的响应,以明确使用流读取器的UTF-8编码:

BufferedReader r = new BufferedReader(new InputStreamReader(instream, "UTF-8"), 8000);
相关问题