1

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

私のコードは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
     }
4

3 に答える 3

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);

これで解決され、アラビア語がデータベースに保存されました。

詳しくはこちらをご覧ください

于 2012-06-06T03:48:19.027 に答える
0

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

于 2012-05-09T07:48:02.693 に答える
0

Web ページ、Eclipse とソース コード、およびデータベース (NLS_CHARACTERSET または列を NVARCHAR2 として定義) など、すべての方法で UTF-8 を使用することをお勧めします。この方法では、変換は必要ありません。

于 2015-10-04T17:27:19.250 に答える