我编写了一个连接 mysql 数据库的 php 项目。我还有一个 jar 文件,它在调用 php url 时运行。通过 php 我从用户那里获取参数并将它们保存到数据库中,然后我的 jar 文件连接到数据库并读取指定的行。直到这里一切都好。
这是我运行位于服务器中的 .jar 文件的 php 文件:
<?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');
?>
我的jar文件如下:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/somedb?useUnicode=true&characterEncoding=UTF-8", "root", "pass");
在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_general_ci”。
当我用 php 写一个土耳其字符时,它会保存到 db,我可以看到。但是当我尝试用我的罐子检索那些土耳其字符时,它只显示问号。我几乎尝试了一切,但没有机会。
非常感谢任何帮助。
编辑:我还在 jar 文件中将 UTF-8 更改为 ISO-8859-1。但它不再起作用了。