php到java的mysql utf-8编码

php到java的mysql utf-8编码,java,php,mysql,database,utf-8,Java,Php,Mysql,Database,Utf 8,我编写了一个连接mysql数据库的php项目。我还有一个jar文件,它在调用php url时运行。通过php,我从用户那里获取参数并将其保存到数据库,然后我的jar文件连接到数据库并读取指定的行。直到这里一切都好 这是我的php文件,运行服务器中的.jar文件: <?php mysql_query("SET NAMES utf8"); header("Content-Type: text/html;charset=UTF-8"); echo shell_exec('java -

我编写了一个连接mysql数据库的php项目。我还有一个jar文件,它在调用php url时运行。通过php,我从用户那里获取参数并将其保存到数据库,然后我的jar文件连接到数据库并读取指定的行。直到这里一切都好

这是我的php文件,运行服务器中的.jar文件:

    <?php
mysql_query("SET NAMES utf8");
header("Content-Type: text/html;charset=UTF-8");


echo shell_exec('java -jar /home/path/path/path/my.jar');

?>
在while循环中:

while (resultSet2.next()) {


        title2 = new String(resultSet2.getString("title").getBytes("UTF-8"), "UTF-8");
        url2 = new String(resultSet2.getString("url").getBytes("UTF-8"), "UTF-8");
        id = new String(resultSet2.getString("id").getBytes("UTF-8"), "UTF-8");
        date = new String(resultSet2.getString("date").getBytes("UTF-8"), "UTF-8");

        list.add(title2);
        list2.add(url2);
        list4.add(id);
        list5.add(date);


    }
当我从db中检索到一些东西时,一切都很完美。我还将db设置为“默认字符集utf8默认对比utf8\U常规\U ci”

当我用php写一个土耳其语字符时,它会保存到db中,我可以看到这一点。但当我试图用我的罐子检索那些土耳其字符时,它只显示问号。我几乎什么都试过了,但没有机会

任何帮助都是非常感激的


编辑:我还在jar文件中将UTF-8更改为ISO-8859-1。但是它不再工作。

如果所有连接设置都正确,则

title2 = resultSet2.getString("title")
…应该足够了。这将从数据库中检索信息,并使用连接设置解释字符串,然后将其转换为UTF-16,这是Java的内部表示形式。当您添加getBytes(“UTF-8”)时,它将把内部字符串转换为UTF-8,然后返回这些字节。然后将这些字节重新解释为UTF-8

我知道MySQL在以root用户身份连接时会忽略配置文件中的连接选项,所以请尝试创建一个新用户并再次运行它

title2 = resultSet2.getString("title")