Android 中的泰卢固语字符

Telugu Characters in Android

提问人:Sriram Nadiminti 提问时间:4/26/2021 最后编辑:Sriram Nadiminti 更新时间:4/26/2021 访问量:53

问:

我有一个存储在 SQL 中的表,其中包含英语和泰卢固语字符,如图所示。当我在phpMyadmin SQL查询中执行本地查询时,SQL表正确显示字符。

当我通过 POSTMAN 或 ANDROID STUDIO 通过 PHP 进行查询时,泰卢固语的字符显示为???

详: SQL 中的存储值

holDate         holDay       holDetails  
2021-01-13 Wednesday బుధ  Sankranthi భోగి

SQL 字符集:utf8_general_ci

Android端

JSONObject object = new JSONObject(result);
jsonstring = object.toString();

查询

through PHP (Api.php?apicall=getHolData)
"SELECT `holDate`,`holDay`,`holDetails` FROM `holdata`"

查询结果

{"hols":[{"holDate":"2021-01-13","holDay":"Wednesday ???","holDetails":"Sankranthi ????"}}

有什么建议吗?

添加PHP代码

function getHolData(){
    $stmt = $this->con->prepare("SELECT `holDate`,`holDay`,`holDetails` FROM `holdata`");
    $stmt->execute();
    $stmt->bind_result($holDate, $holDay, $holDetails);
    $hols = array(); 
    
    while($stmt->fetch()){
        $hol  = array();
        $hol['holDate'] = $holDate; 
        $hol['holDay'] = $holDay; 
        $hol['holDetails'] = $holDetails; 
        array_push($hols, $hol); 
    }
    return $hols;  
}

调用 PHP

case 'getHolData':
    $db = new DbOperation();
    $response['hols'] = $db->getHolData();
    break;

 
安卓 UTF-8

评论

1赞 Joachim Sauer 4/26/2021
如果问题也发生在 postman 上,那么问题可能不在于 Android 端,而在于服务器端。您可能需要确保在服务器上的任何地方都使用 UTF-8。
0赞 Sriram Nadiminti 4/26/2021
数据库和所有表都设置为:SQL 字符集/排序规则:utf8_general_ci。问题仍然存在
1赞 Joachim Sauer 4/26/2021
但是数据不是MySQL直接返回的,是吗?其中还有 PHP。
0赞 Sriram Nadiminti 4/26/2021
添加了PHP代码。尝试添加 UTF-8 语句:mysqli_set_charset( $db, 'utf8');但不知道把它放在哪里。
1赞 Joachim Sauer 4/27/2021
恭喜,这看起来是正确的。

答: 暂无答案