SQL android 中的查询无法识别希伯来字母,尽管在 wamp 服务器中可以识别

SQL query in android doesn't recognize hebrew letters despite in wamp server it does

当我试图通过希伯来语字段查找记录时,它在执行我的查询时 return 没有任何数据。尽管事实上当我在我的 wampserver 中粘贴相同的查询时,查询 return 正确的答案!

我将 table 和字段定义为 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;
    }

日志:

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

您需要确保 sql table 行和字段编码正确:

  1. 数据库排序规则必须是 utf8_general_ci。
  2. table 与希伯来语的排序规则必须是 utf8_general_ci
  3. 在与数据库的连接中,您需要使用清除字符集的设置,我知道在 php 中,连接设置需要像这样: ('Content-Type: text/html; charset=utf-8');
  4. 在你的xhtml标签中,在android中,你需要定义这个页面使用utf8:
  5. 在连接脚本中选择数据库后,您需要输入 mysql_query("SET NAMES 'utf8'");

也看看这个答案: MySQL db question marks instead of hebrew characters..?