簡體   English   中英

在 MySQL 數據庫中保存波斯數據的問題

[英]the problem to save Persian data in MySQL database

我正在嘗試將波斯數據保存在 MySQL 中。 但是當保存在數據庫中時,如下圖所示。 我為數據庫中的排序規則設置了 utf8 通用 ci,還添加了 header('Content-Type: text/html; charset=utf-8'); 在 PHP 文件中。 但顯示像這張圖片一樣的數據。

在此處輸入圖像描述

用戶.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";
}       

}

當您運行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');

您可以將列的“排序規則”更改為“utf8mb4_persian_ci”或“utf8_persian_ci”。

有用。

您插入的數據應具有utf8編碼。 您可以使用utf8_encode函數對數據進行編碼。 例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM