正常执行应该就可以啊
java用的是unicode字符集,都支持的。
看你的数据库是不是支持阿拉伯文吧

解决方案 »

  1.   

    数据库支持阿拉伯文啊 上面的语句可以直接在SQL SERVER里面运行啊 但是在JAVA里面就不行
      

  2.   

    你的意思是在java开发环境里不行还是在IE上或者其他什么地方也不行?
    在开发环境里不行的事情我也遇到过,不过到IE就没问题了。
      

  3.   

    对 IE都可以将正确的SQL语句 请问是否还有其他的执行SQL语句的方法呢 
      

  4.   

    IE 可以将SQL语句打印出来 可以显示阿拉伯文
      

  5.   

    用PreparedStateString sql="select * from aaa where ccc like ?";
    PreparedStatement ps=con.prepareStatement(sql);
    ps.setString(1,"%阿拉伯文%");
    ResultSet rs=ps.executeQuery();
      

  6.   

    这个要看数据库设定的代码集,只要将SQL转成相应的代码集就可以了.
    比如对方是拉丁字符集,也就是欧美默认的ISO-8859-1那么你的SQL应该写成:
      String strSQL ="select * from aaa where ccc like '%阿拉伯文%'";
      strSQL = new String(strSQL.getBytes(),"ISO-8859-1");
      Statement.execute(strSQL) 执行之
      

  7.   

    String strSQL ="select * from aaa where ccc like '%阿拉伯文%'";
      strSQL = new String(strSQL.getBytes("ISO-8859-1"),"阿拉伯文Encoding");
      Statement.execute(strSQL) 执行之 
      

  8.   

    上面的方法我都试过了 还是不能解决问题 也许是我说的不够具体 (不过还是十分感谢各位!)
    程序是这样的:
    页面提交之后
    aaaaa=new String(request.getParameter("firstname").getBytes("8859_1"),"UTF-8");
    //firstname就是页面输入的阿拉伯文
    String sqlstr="select aaa from bbb where aaa like N'%"+aaaaa+"%'";
    out.println(sqlstr)//网页上打印的语句都是对的
    ResultSet rs=st.executeQuery(sqlstr); 运行结果就查不到 该语句(从网页上COPY)在SQL2000里就可以正确的查到记录 
      

  9.   

    在VC里可以用SQLExecDirectW来执行这句包含有小语种的SQL语句
    VC可以的话JAVA也应该可以的我觉得 该怎么办呢??各位高手有什么高见呢?
      

  10.   

    如果照我的方法做了还不对的话,那么一定是其他步骤出了问题。aaaaa=new String(request.getParameter("firstname").getBytes("8859_1"),"UTF-8");
    String sqlstr="select aaa from bbb where aaa like N'%"+aaaaa+"%'";
    out.println(sqlstr);
    ResultSet rs=st.executeQuery(sqlstr);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    你这一步没有作转换!!!!!!!!!!!!!!!!!!!!
      

  11.   

    上面的转换当然要做了 要不然aaaaa就都变成问号了 字符就丢失了