0

I want create register page and for this i write php codes. but when show result in json, not show UTF-8 characters!

my code:

<?php

require_once 'DBOperations.php';

class Functions{

private $db;

public function __construct() {

      $this -> db = new DBOperations();

}

public function registerUser($name, $email, $password) {

   $db = $this -> db;

   if (!empty($name) && !empty($email) && !empty($password)) {

      if ($db -> checkUserExist($email)) {

         $response["result"] = "failure";
         $response["message"] = "اين ايميل قبلا ثبت شده است";
         return json_encode($response);

      } else {

         $result = $db -> insertData($name, $email, $password);

         if ($result) {

              $response["result"] = "success";
            $response["message"] = "تبريک، در کلوني عضو شدي";
            return json_encode($response);

         } else {

            $response["result"] = "failure";
            $response["message"] = "ثبت نام با خطا روبرو شده است";
            return json_encode($response);

         }
      }
   } else {

      return $this -> getMsgParamNotEmpty();

   }
}

public function loginUser($email, $password) {

  $db = $this -> db;

  if (!empty($email) && !empty($password)) {

    if ($db -> checkUserExist($email)) {

       $result =  $db -> checkLogin($email, $password);

       if(!$result) {

        $response["result"] = "failure";
        $response["message"] = "ايميل يا کلمه عبور اشتباه است";
        return json_encode($response);

       } else {

        $response["result"] = "success";
        $response["message"] = "با موفقيت وارد شديد";
        $response["user"] = $result;
        return json_encode($response);

       }
    } else {

      $response["result"] = "failure";
      $response["message"] = "خطا در اطلاعات وارد شده";
      return json_encode($response);

    }
  } else {

      return $this -> getMsgParamNotEmpty();
    }
}

public function changePassword($email, $old_password, $new_password) {

  $db = $this -> db;

  if (!empty($email) && !empty($old_password) && !empty($new_password)) {

    if(!$db -> checkLogin($email, $old_password)){

      $response["result"] = "failure";
      $response["message"] = "کلمه عبور قبلي نادرست است";
      return json_encode($response);

    } else {

    $result = $db -> changePassword($email, $new_password);

      if($result) {

        $response["result"] = "success";
        $response["message"] = "کلمه عبور با موفقيت تغيير يافت";
        return json_encode($response);

      } else {

        $response["result"] = "failure";
        $response["message"] = 'خطا در تغيير کلمه عبور';
        return json_encode($response);

      }
    }
  } else {

      return $this -> getMsgParamNotEmpty();
  }
}

public function isEmailValid($email){

  return filter_var($email, FILTER_VALIDATE_EMAIL);
}

public function getMsgParamNotEmpty(){

  $response["result"] = "failure";
  $response["message"] = "فيلدها نبايد خالي باشند";
  return json_encode($response);

}

public function getMsgInvalidParam(){

  $response["result"] = "failure";
  $response["message"] = "فيلدها نامعتبر هستند";
  return json_encode($response);

}

public function getMsgInvalidEmail(){

  $response["result"] = "failure";
  $response["message"] = "ايميل نامعتبر است";
  return json_encode($response);

}
}

How can i show "message" for utf-8 in json?

  • Add the flag `JSON_UNESCAPED_UNICODE` to `json_encode()`, for example `json_encode($response, JSON_UNESCAPED_UNICODE);` – Gab Mar 12 '17 at 14:22
  • @Gab, thanks my friend, i use this code but not work me! –  Mar 12 '17 at 14:24

0 Answers0