这个问题在这里已有答案:
我有问题从数据库获取数据。波斯语单词出现像???????
这样的问号。我怎么能避免这个?
这是我的代码:
header('Content-Type: text/html; charset=utf-8');
$conn = mysqli_connect("localhost", "somevalue", "somevalue", "somevalue");
$output = array();
$query = "SELECT * FROM af_home ORDER BY home_id DESC LIMIT 50";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$output[] = $row;
}
echo json_encode($output);
}
确保af_home
列charset是数据库中的UTF-8
您可以转换数据库UTF-8:
ALTER DATABASE your_database CHARACTER SET utf8;
-- for each table:
ALTER TABLE some_table CONVERT TO CHARACTER SET utf8;
并确保该表是UTF8:
SET CHARACTER SET, SET NAMES, SET COLLATION_CONNECTION