我有MySQL数据库,在那里我保存了数据,有些单词有变音符号。这是我的函数如何从数据库获取数据。public List<RowType> getData(String query){ List<RowType> list = new ArrayList<>(); try{ connect(); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query); while(resultSet.next()){ StringBuilder str = new StringBuilder(); for(int i = 1; i <= getCountColumns(resultSet); i++){ if(i==1) str.append(resultSet.getString(i)); else str.append("," + resultSet.getString(i)); } list.add(new RowType(str.toString())); } } catch(Exception e){ System.out.println("Chyba při získavání údajů z databáze."); System.out.println(e); Console.print("Chyba při získavání údajů z databáze."); Console.print(e.toString()); } finally{ disconnect(); } return list;}作为参数,我发送此查询。List<RowType> list = connection.getData("Select id from countries where name = 'Česko'");但它没有找到任何东西,因为我在查询中有变音符号(“Česko”)。我尝试没有变音符号,它的工作原理。所以你不知道如何修复它以使用口音吗?
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
是否可以尝试在执行主查询之前再添加几个查询?所以它看起来像这样:
connect();
Statement statement = connection.createStatement();
String query2 = "SET NAMES 'utf8'";
statement.execute(query2);
query2 = "SET CHARACTER SET 'utf8'";
statement.execute(query2);
ResultSet resultSet = statement.executeQuery(query);
如果上述方法对您不起作用,则可能是您的数据库设置有问题;如果是这种情况,您可以参考此处的答案
添加回答
举报
0/150
提交
取消
