2016-10-27 2 views
1

Oracle 10gデータベースにアラビア数字を追加する際に問題があります。アラビア語の単語は正常に追加されますが、私の文字列に数字を追加すると数字は?データベースに格納されます。私はJavaからOracle 10gにアラビア数字を追加できません

私はJavaコードを修正する必要がありますので、番号を追加することができます。 oracle SQL開発者のアラビア数字を使用すると問題ありません。 ここに例があります: 'قبلاكثرمن??これは次のようになります。

データベースのキャラクタ・セットとNLS_LANGを変更して、Oracleがアラビア語をサポートできるようにしました。

私は助けが必要です。

+1

テーブルの照合とは何ですか?また、厳密に言えば、アラビア数字は私たちが使用する数字であると思います。 '1,2,3 ... ' –

+0

最初に、Oracle 10gでテーブルの照合順序を変更する方法はありますか。はい、アラビア数字は1,2の例です:1,2。ご協力ありがとうございました。 –

+0

しかし、私は混乱している、なぜ私は正常にOracleのSQL開発者のソフトウェアを介してアラビア数字を追加することができますが、私はjavaからこれらの番号を追加すると動作しません。 –

答えて

0

これはサーブレット部分です。

String PeriodNameList=request.getParameter("PeriodNameList"); 
DataBaseConnection DataBaseConnection=new DataBaseConnection(); 
Con = DataBaseConnection.getConnection(); 
AgendaPeriodesBean AgendaPeriodesBean=null; 
String [] SplitedPeriodNameList=PeriodNameList.split(","); 
for(int j=0;j<SplitedPeriodNameList.length;j++){ 

       AgendaPeriodesBean=new AgendaPeriodesBean(); 

       AgendaPeriodesBean.setAGENDA_PERIODE_TRANS_NAME(SplitedPeriodNameList[j].trim()); 
       Agenda.AddAgendaPeriodTrans(AgendaPeriodesBean); 
        j++;  
       } 

DAOパート。

public Integer AddAgendaPeriodTrans(AgendaPeriodesBean Bean) throws  UnsupportedEncodingException { 

    Integer updated = null; 
    PreparedStatement preparedStatement = null; 
    StringBuffer query = new StringBuffer(); 

    query.append("INSERT INTO AGENDA_PERIODE_TRANSLATION ("); 
    query.append(" AGENDA_PERIODE_TRANS_NAME "); 
    query.append(" ) "); 
    query.append(" VALUES (?)"); 
    int counter = 1; 
    try { 
     preparedStatement = con.prepareStatement(new String(query)); 
     String str = new String(Bean.getAGENDA_PERIODE_TRANS_NAME().getBytes("8859_1"), "UTF-8"); 
     System.out.println("str : str : "+str); 
     if (Bean.getAGENDA_PERIODE_TRANS_NAME()!= null) { 
      preparedStatement.setString(counter++, Bean.getAGENDA_PERIODE_TRANS_NAME()); 
     } else { 
      preparedStatement.setNull(counter++, Types.NVARCHAR); 
     } 



     updated = preparedStatement.executeUpdate(); 

    } catch (SQLException sqlException) { 
     System.out.println("AddAgendaPeriodTrans : "+sqlException.getMessage()); 
     updated=null; 
    } finally { 
     query = null; 
     try { 
      if (preparedStatement != null) { 
       preparedStatement.close(); 
      } 
     } catch (Exception exception) { 

     } 
    } 


    return updated ; 

} 
関連する問題