2016-03-20 1 views
2

ヘブライフィールドでレコードを検索しようとしているとき、クエリを実行するときにデータを返しません。私のwampserverで同じクエリを貼り付けているときにクエリが権利の返答を返すという事実にもかかわらず!アンドロイドのSQLクエリは、ワンプサーバーにもかかわらずヘブライ文字を認識しません

テーブルとフィールドをutf8_general_ciと定義しても、問題は発生しました。助けてください。

public ArrayList<String> findPartnersFast(String semester , String course , String city) { 
     String currentQuery = "SELECT * FROM fast_reg " + "WHERE course = " + "'" + "מבוא למקרוכלכלה" + "'" ; 
     ArrayList<String> arrayOfResults = new ArrayList<String>(); 
     try { 
      statement = connection.createStatement(); 
      res = statement.executeQuery(currentQuery); 
      Log.d("DBmanipulation" , currentQuery); 
      while(res.next()) { 
       Log.d("DBmanipulation" , "in while loop!"); 
       String temp = res.getString("student_name"); 
       arrayOfResults.add(temp); 
       Log.d("DBmanipulation", "name: " + temp); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       if (res != null) { 
        res.close(); 
       } 
      } catch (Exception e) { 

      } 
     } 
     return arrayOfResults; 
    } 

LOG:

03-20 20:29:09.400 3593-4082/com.example.uvalerx073037.finalproject_correct D/Register: In BackGround 
03-20 20:29:09.400 3593-4082/com.example.uvalerx073037.finalproject_correct I/System.out: conneting to Database... 
03-20 20:29:09.532 3593-4082/com.example.uvalerx073037.finalproject_correct I/System.out: Connection Successful 
03-20 20:29:09.550 3593-4082/com.example.uvalerx073037.finalproject_correct D/DBmanipulation: SELECT * FROM fast_reg WHERE course = 'מבוא למקרוכלכלה' 
03-20 20:29:09.557 3593-4082/com.example.uvalerx073037.finalproject_correct I/System.out: connection close properly 
+0

!それは私にそれを理解する日かかりました;); –

答えて

1

は、SQLテーブルの行とフィールドが正しくエンコードことを確認する必要があります:DBの照合をutf8_general_ciにする必要があり

  1. ヘブライ語とテーブルの照合を使用して、文字セットをクリアする設定を使用する必要があるデータベースへの接続に
  2. utf8_general_ciにする必要があり、私はPHPで接続設定がそのようにする必要があることを知っている: ( 'Content-Type:text/html; charset = utf-8');あなたのXHTMLタグで
  3. は、アンドロイドでは、このページがUTF8使用することを定義する必要があります:あなたは(「NAMES 『UTF8』を設定」)するmysql_queryを配置する必要があり、接続スクリプトでDBを選択した後

もこの答えを見てみましょう: 良い質問ですMySQL db question marks instead of hebrew characters..?

+1

あなたの説明のステップ番号3のようなJDBC接続でのあなたの答えに加えて、私は次のことを行いました:con = DriverManager.getConnection( "jdbc:mysql:// localhost:3306/myDatabase?useUnicode = true&characterEncoding = UTF-8"、 "user "、" passwd "); – Udi

関連する問題