2015-11-02 3 views
1

J'appelle une API et je reçois la réponse en anglais et en ourdou. La réponse est stockée dans une chaîne et la partie urdu affiche le texte de caractère comme "/ u024 /".Décoder les codes ourdou dans Android

J'ai implémenté cet ensemble de code qui donne le même résultat que précédemment pour les caractères urdu. Veuillez si quelqu'un peut me aider sur ce

String fontPath = "urdu.ttf"; 

    // text view label 
    TextView txtGhost = (TextView) findViewById(R.id.ghost); 

    // Loading Font Face 
    Typeface tf = Typeface.createFromAsset(getAssets(), fontPath); 

    // Applying font 
    txtGhost.setTypeface(tf); 

Répondre

2

Votre réponse en Unicode, essayer cette

TextView tv=(TextView)findViewById(R.id.textViewmyView); 
final Typeface tf = Typeface.createFromAsset(this.getAssets(),"asunaskh.ttf"); 
tv.setTypeface(tf); 
tv.setText(Html.fromHtml(yourText); 

ajouter cette option si ci-dessus ne fonctionne pas

String str = myString.split(" ")[0]; 
str = str.replace("\\",""); 
String[] arr = str.split("u"); 
String text = ""; 
for(int i = 1; i < arr.length; i++){ 
int hexVal = Integer.parseInt(arr[i], 16); 
text += (char)hexVal; 
} 

ou cette

textview.setText(Html.from(StringEscapeUtils.unescapeJava(unicode))); //this method 

pour plus: voir cette How to use unicode in Android resource?

How to convert a string with Unicode encoding to a string of letters

+0

pourquoi définir la police de caractères après le texte défini? –

+0

désolé mon erreur –

+0

btw cela n'a pas fonctionné. {"success": "100", "message": "réussi", "nom": "\ u00a0 \ u00a06 \ u00a06 \ u00a06 \ u00e06 \ u00a06 \ u00e0644 \ u0644 \ u0647 \ u0627 \ u0639 \" u0638 \ u0645 \ u062e \ u0627 \ u0646 "} Ceci est le retour exact de l'API, stocké dans une chaîne, et les parties \ u062f \ etc sont des caractères urdu. –

0

Essayez cette police à la place de votre police actuelle: http://www.quran.or.kr/urdu/font/asunaskh.ttf

try { 
    txtGhost.setTypeface(Typeface.createFromAsset(this.getAssets(),"asunaskh.ttf")); 
    txtGhost.setText("ur text"); 
} 
catch(Exception ex) { 
    Log.e("TAG", ex.toString()); 
} 

Et, quelles erreurs avez-vous obtenu dans votre cas?

Plus d'informations sur le soutien linguistique: how to add language support to android

+0

Aucune erreur. Il ne montre simplement pas la police urdu –