Java 正确设置mysql排序规则

Java 正确设置mysql排序规则,java,mysql,sql,Java,Mysql,Sql,我试图在我的表中插入希伯来语值,但结果总是“???????”。 我应该使用哪种校勘法?我试着使用希伯来文_bin和希伯来文_general_ci,结果是一样的。 我使用Java标记的原因是我的代码是用Java编写的,据我所知,在web开发中,您还必须在web脚本中指定排序规则。 也许我也必须在java代码中这样做 编辑 代码如下: private String url = "jdbc:mysql://ip:port/"; private String dbName = "dbname"; pri

我试图在我的表中插入希伯来语值,但结果总是“???????”。 我应该使用哪种校勘法?我试着使用希伯来文_bin和希伯来文_general_ci,结果是一样的。 我使用Java标记的原因是我的代码是用Java编写的,据我所知,在web开发中,您还必须在web脚本中指定排序规则。 也许我也必须在java代码中这样做

编辑 代码如下:

private String url = "jdbc:mysql://ip:port/";
private String dbName = "dbname";
private String driver = "com.mysql.jdbc.Driver";
private String userName = "user"; 
private String password = "password";

现在,我如何将代码更改为您展示的示例

set the table you needed to utf8 and all the rows in it to
utf8 the added this to the connection script:mysql_query("SET NAMES 'utf8'");
这将对您有所帮助。我想,根据可能的情况,您可以尝试以下方法:


邮寄人::

在代码中设置UTF-8。见下文:

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/embeddedChat?" +
            "user=site_access&password=XXXXXXXX&useUnicode=true&characterEncoding=UTF-8");

当然是个性化的连接

见下文:

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/embeddedChat?" +
            "user=site_access&password=XXXXXXXX&useUnicode=true&characterEncoding=UTF-8");


您使用的是哪个数据库?数据库使用的是哪个字符集?嗯,我找不到一个名为字符集的字段,但排序规则是:utf8\u general\u Ci您如何知道结果是“??”。这是一个unicode问题,unicode问题有两个变体:存储不好和显示不好。也许问题在于显示它。我在phpmyadminHow中找到了我可以怎么做:mysql_查询(“SET NAMES'utf8'”);在java中?
mysql\u query
已被弃用,使用
mysqli
PDO
现在未弃用,将被弃用。@ImriPersiado已修复,显示用户名和密码实现。这很混乱,我需要发送3个参数。。我只看到一个。url、用户名、密码???请详细说明?在我上面的回答中,我有
getConnection(url、用户名、密码、unicode布尔码、字符编码)
。告诉我你需要发送什么。我有4个变量,url,dbname,用户名和密码,我在getConnection方法中传递它们。您的答案只使用了一个长字符串参数,这就是我感到困惑的原因。@ImriPersiado关于我上面链接的SO问题,请查看OP的解析答案:。同样,如果你没有看到你通过的是什么和是如何通过的,这也很难帮助你。在您的OP中添加您的
getConnection()
以及您认为需要我帮助的任何其他内容。