我无法从我的网络服务向我的数据库发送或显示带有特殊字符的文本。在我的日食中,我将字符编码设置为UTF-8,但它仍然不允许我显示字符。例如,简单的打印,如下面的代码
String test ="привет";
System.out.println(test);
OR
String test ="привет";
String query = "insert into communication (`test`) VALUES ('"+ test +"');
PreparedStatement preparedStmt1 = con.prepareStatement(query);
preparedStmt1.executeUpdate();
控制台上的结果以及如果我将其发送到我的数据库是??????。如何在控制台上正确显示它并希望在数据库中显示
答案 0 :(得分:12)
如果您使用的是Eclipse,那么
答案 1 :(得分:9)
看看是否有效。
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(test);
要在DB中存储,请使用以下命令以UTF-8
显式编码字符串String newString = new String(test.getBytes(), "UTF8");
答案 2 :(得分:1)
是的,它是XXI。世纪,我们仍在努力解决字符编码......
我的第一个猜测是:
答案 3 :(得分:0)
可能需要首先将字符串解码为ISO-8859,然后将其编码为UTF-8