2010-11-19 30 views
1

私はmyproject.Iでwebserviceを使用しています。私はこのメソッドを呼び出すと というWebサービスクライアントメソッドを作成しました。データを持つjsonオブジェクトを取得します。次に、そのオブジェクトをjspで抽出し、 を使用して表示します。問題は:私はここにいくつかのアラビア文字を表示する必要があります私は jsonオブジェクトから取得します。私はそれをブラウザに送信すると表示されます صـيدلية ســد مــــأربアラビア文字の代わりに文字。アラビア語の代わりに不要な文字

JSON Oject:JSP内

"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", 
    } 
]} 

データ表示:

<% 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> 
<%}} %> 

私は、このJSPを実行すると、私が代わりにアラビア文字の不要な文字を取得しています。私が間違っていた場所?

答えて

0

これは、ページのエンコーディングと関係があります。これらの特殊文字を含むunicodeエンコーディングが必要ですが、おそらく標準utf-8を使用しています(そうではありません)。

0

これをJSPの上に置きます。

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

これは、UTF-8としてJSPにデータを書き込み、送信するために、サーバーに指示し、それはまた、UTF-8としてデータを解釈するために、クライアント(ブラウザ)に指示レスポンスヘッダを追加します。それ以外の場合、システムのデフォルトが使用されます(多くの場合、アラビア文字を含まないISO-8859-1)。背景情報およびUnicodeの問題の解決策については、この記事

関連項目:Unicode - How to get the characters right?

+0

こんにちはanswer.But与えてくれてありがとう私はすでにこのコードを書いたが、あなたが私に他のソリューションをしてください与えるworking.Couldされていませんか? –

関連する問題