我正在开发一个 Android 应用程序,将乌尔都语/阿拉伯语数据存储在我的 Web 服务器上的 MySQL 数据库中,并使用 JSON_Encoding 生成 JSON 字符串。然后在 Android 应用程序中使用 JSON 字符串来执行各种功能(使用数据填充 RecyclerView 和其他视图对象)。我可以将乌尔都语/阿拉伯语数据存储在 MySQL 数据库中,但是当我使用 PHP 脚本生成 JSON 时,所有包含乌尔都语字符的字段都将数据显示为??????
我在阅读时使用的是 utf8mb4_unicode_ci,这对于存储非英语数据和执行多种功能很容易,但是在这个编码问题之后,我已将 MySQL 数据库中所有表和字段的它更改为 utf8_general_ci。下面是我用来从 MySQL 生成 JSON 字符串的 PHP 脚本:
<?php
require "conn.php";
mysqli_query("SET NAMES 'utf8'");
mysqli_query('SET CHARACTER SET utf8');
$sql_qry = "SELECT * FROM countrybasic;";
$result = mysqli_query($conn, $sql_qry);
$response = array();
while($row = mysqli_fetch_array($result)){
array_push($response, array("id"=>$row[0],"name"=>$row[1],"capital"=>$row[2],"continent"=>$row[3],"population"=>$row[4],"gdp"=>$row[5]));
}
echo json_encode(array("server_response"=>$response));
mysqli_close($conn);
?>
Name 和 Capital 字段是我存储乌尔都语数据的字段。
请帮我解决这个问题。
谢谢。