2010-11-19 22 views
1

J'utilise un service Web dans myproject.J'ai écrit une méthode de client webservice, lorsque j'appelle cette méthode j'obtiens l'objet json qui a les données. Ensuite, j'extraire cet objet dans jsp et l'utiliser pour afficher. le problème est: j'ai besoin d'afficher ici quelques caractères arabes que je suis obtenant de json object.when je l'envoie au navigateur il affiche صـيدلية ســد مــــأرب comme des caractères au lieu des caractères arabes.Caractères indésirables à la place des caractères arabes

JSON ojet:

"results": [ 
    { 
    "attributes": { 
     "OBJECTID": "35", 
     "FACILITYTYPE": "Pharmacy", 
     "FACILITYSUBTYPE": "24 Hr Pharmacy", 
     "COMMERCIALNAME_E": "SADD MAARAB PHARMACY", 
     "COMMERCIALNAME_A": "صـيدلية ســد مــــأرب", 
     "TELEPHONE": "5832625", 
     "FAX": "5833266", 
     }, 
    "geometryType": "esriGeometryPoint", 
    }, 
    { 
     "attributes": { 
     "OBJECTID": "1", 
     "FACILITYTYPE": "Pharmacy", 
     "FACILITYSUBTYPE": "24 Hr Pharmacy", 
     "COMMERCIALNAME_E": "GAYATHY HOSPITAL PHARMACY", 
     "COMMERCIALNAME_A": "صيدلة مستشفى غياثي", 
     "TELEPHONE": "28741666", 
     "FAX": "28742008", 
     }, 
    "geometryType": "esriGeometryPoint", 
    } 
]} 

affichage de données dans jsp:

<% for (Object object : results) { 
    JSONObject jobj = (JSONObject)object; 
    if (jobj != null && jobj.containsKey("attributes")) 
     { 
    JSONObject att= (JSONObject) jobj.get("attributes"); 

    %> 

<tr ><td ><span><%= att.get("COMMERCIALNAME_E") %></span></td> 
<tr ><td ><span><%= att.get("COMMERCIALNAME_A") %></span></td> 
<td ><span><%= att.get("TELEPHONE") %></span></td> 
<td ><span><%= att.get("FAX") %></span></td> 
</tr> 
<%}} %> 

Quand je lance cette JSP, je reçois des caractères indésirables à la place des caractères arabes. Où j'ai mal fait?

Répondre

0

Cela pourrait avoir quelque chose à voir avec le codage de la page. Vous aurez certainement besoin d'un encodage unicode (qui inclut ces caractères spéciaux) alors que vous utilisez probablement la norme utf-8 (ce qui n'est pas le cas).

0

Mettez cela en haut de votre JSP.

<%@ page pageEncoding="UTF-8" %> 

Cela indique au serveur d'écrire et d'envoyer les données JSP en UTF-8, et il ajoutera également un en-tête de réponse qui indique au client (navigateur) pour interpréter les données au format UTF-8. Sinon, la valeur par défaut du système sera utilisée (ce qui est souvent ISO-8859-1 qui ne contient pas de caractères arabes).

Voir aussi cet article pour des informations générales et des solutions aux problèmes Unicode: Unicode - How to get the characters right?

+0

Salut Merci pour donner answer.But je l'ai écrit ce code déjà, mais il ne working.Could vous me donnez d'autres solutions s'il vous plaît? –