2012-05-09 12 views
1

Oracleデータベースにアラビア語を保存します。ユーザーはクライアント側からアラビア語を入力し、その単語を送信します。クライアント側ではアラートを使用してアラビア語のテキストが表示されます。しかし、サーバー側に表示される単語は、Javaコンソール(Sytem.out.printlnを使用して)شاحÙØ©として表示されます。したがって、dbには????と表示されます。私は関連記事を見ました。ポストの1つで、「テキストファイルのエンコーディング」をEclipseのUTF-8に変更することを討議しました。「テキストファイルのエンコーディング」をUTF-8に変更しました。しかし、それは前の文字を表示していませんشاحÙØ©のような効果。次に、アプリケーションの「テキストファイルのエンコーディング」をUTF-8に変更し、同じ出力を得ました。私はこのようにdbに送信すると、dbが????と表示される理由です。解決策はありますか?アラビア語をOracleデータベースに保存する方法は?

私のコードは、Java

にコマンドラインで
vehicleServiceModel.setVehicleType(request.getParameter("vehicleType")); 

    System.out.println("vehicle Type : "+vehicleServiceModel.getVehicleType()); 

クライアント側

jQuery.ajax({ 
     type: "GET", 
     cache : false, 
     url: "addvehicle.htm", 
     data:{vehName:VehicleName,make:Make,model:Model,color:Color,plateNumber:PlateNumber,driverName:DriverName,vehicleType:VehicleType,vehTimeZone:vehTimeZone}, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: Success, 
     error: Error 
    }); 

    function Success(data, status) { 
    //some code 
    } 

答えて

0

である、あなたは1256(アラビア語)にコードページを設定する必要があります。しかしアラビア語のテキストをデータベースに格納するには、列データをUTF-8に設定する必要があります。また、文字セットがUTF-8に設定されていることを確認してください(Webページを作成している場合)。

+0

私はすでにutf-8を設定しています –

+0

答えを説明してください。 –

+0

正確に何か説明してください。 –

2

私はこの質問に自分自身答えています。うまくいけば、これは他の人に役立つでしょう。私はJavaで

を変更

私の問題は解決さによって

vehicleServiceModel.setVehicleType(request.getParameter("vehicleType")); 
String str = vehicleServiceModel.getVehicleType(); 
    str = new String(str.getBytes("8859_1"), "UTF-8"); 
    System.out.println("vehicle Type : "+str); 
    vehicleServiceModel.setVehicleType(str); 

は今、それが解決され、アラビアの言葉は、データベースに保存されました。詳細については

this

0

に見てください、私はあなたがEclipseとソースコードで、ウェブページ、すなわち、UTF-8のすべての方法を使用することをお勧めし、データベース内(NLS_CHARACTERSETまたは定義しますNVARCHAR2として列)。このようにして、コンバージョンは必要ありません。

関連する問題