我不能通过java添加阿拉伯数字到oracle 10g

时间:2016-10-27 08:36:43

标签: java oracle multilingual

我在向oracle 10g数据库添加阿拉伯数字时遇到问题。阿拉伯语单词成功添加,但如果我在我的字符串中添加数字,那么数字将被保存为??在数据库中。

我应该修复java代码,以便它可以添加数字因为如果我改变?在oracle SQL开发人员中使用阿拉伯数字它可以正常工作。 这是一个例子:'قبلاكثرمن?? شهر' - >这应该是这样的'قبلاكثرمن12شهر'

我已经更改了数据库字符集和NLS_LANG,因此oracle可以支持阿拉伯语。

我需要帮助。

1 个答案:

答案 0 :(得分:0)

这是servlet的一部分。 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)抛出UnsupportedEncodingException {     整数更新= 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;     尝试{         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());        更新= NULL;     } finally {         query = null;         尝试{             if(preparedStatement!= null){                 preparedStatement.close();             }         } catch(异常异常){         }     }     返回更新; }