我在我的数据库中发送了一些数据(utf8),我从 phpMyAdmin 看到它们。数据包含希腊语和英语字符。问题是希腊字符显示为问号(????)。英语还可以。无论我尝试过什么:
对于数据库和我的列排序规则:utf8_unicode_ci, utf8_general_ci
在我与数据库连接后:
mysqli_query ("SET NAMES 'UTF8'", $dbc);
mysqli_query ("SET CHARACTER SET 'UTF8'", $dbc);
问题仍然存在,我不知道如何解决它。有人知道如何解决吗?
更新:数据是从 Android 应用程序发送的:
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("a", "hello, ΓΕΙΑ ΣΟΥ" ));
nameValuePairs.add(new BasicNameValuePair("b", "Good Morning, ΚΑΛΗΜΕΡΑ"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
try {
httpclient.execute(httppost);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (IOException e) {
Log.i("HTTP Failed", e.toString());
}
以及将值插入数据库的命令:
$q= 'INSERT INTO `table`(`x`, `y`) VALUES ("'.$_POST["a"].'","'.$_POST["b"].'")';