在MySQL数据库中保存波斯数据的问题

问题描述 投票:0回答:2

我正在尝试在MySQL中保存波斯语数据。但保存在数据库中时显示如下图像。我在数据库中设置utf8 general ci进行整理,并添加标题('Content-Type:text / html; charset = utf-8');在PHP文件中。但显示此图像的数据。

enter image description here

Users.php

public function updateuser(){

if(isset($_GET['phone']) && isset($_GET['fullname']) && isset($_GET['userPhone']) && isset($_GET['citycode']) && isset($_GET['useraddress']) && isset($_GET['userstatus'])){
    $phone = $_GET['phone'];
    $fullname = $_GET['fullname'];
    $userPhone = $_GET['userPhone'];
    $citycode = $_GET['citycode'];
    $useraddress = $_GET['useraddress'];
    $userstatus = $_GET['userstatus'];

$query = "CALL sp_update_user('$phone','$fullname','$userPhone',$citycode,'$useraddress',$userstatus)";}

$dbcontroller = new DBController();

$this->users = $dbcontroller->executeupdateuserQuery($query);
return $this->users;
}

DBController.php

function executeupdateuserQuery($query) {

mysqli_set_charset($conn,'utf8');    
$result = mysqli_query($this->conn,$query);

if ($result)
{
    return "user_updated";
}else{
    return "failed_updated";
}       

}

php mysql
2个回答
0
投票

当你运行mysql connect时,你必须设置

   mysql_query("SET NAMES 'utf8'");

并为mysqli

$mysqli->set_charset("utf8")

完整的例子:

$connect = mysql_connect($this->hosttype,$this->dbusername,$this->dbpassword)or die('error');
mysql_query("SET NAMES 'utf8'");
$select = mysql_select_db($this->dbname,$connect)or die('error');

-1
投票

您插入的数据应具有utf8编码。您可以使用utf8_encode函数对数据进行编码。例如:

$fullname = utf8_encode($_GET['fullname']);

© www.soinside.com 2019 - 2024. All rights reserved.