مشکل علامت سوال در فراخوانی اطلاعات از دیتابیس در php

mohammaddk

New Member
با عرض سلام و خسته نباشید
من تازه شروع به طراحی وب کردم و با ویدیو 14 پروژه Udemy دارم کار میکنم
مشکلی که برام پیش اومده بعد از ثبت اطلاعات فارسی توی دیتابیس با phpmyadmin ، موقع فراخوانی و چاپ در صفحه فقط علامت سوال میاد


attachment.php


ولی توی دیتابیس درست نمایش داده میشه.
کد دسترسی و تغیرات دیتابیس به این شکله،ممنون میشم اگه بگید که چه کدی و کدوم قسمت باید اضافه کنم.
لطفا به تازه کار بودنم دقت کنید
124.gif
124.gif


[PHPS]
<?php
class Database{
public $host = DB_HOST;
public $username = DB_USER;
public $password = DB_PASS;
public $db_name = DB_NAME;

public $link;
public $error;


/*
*Class Constructor
*/
public function __construct(){
//Call Connect Function
$this->connect();

}


/*
*Connector
*/
private function connect(){


$this->link = new mysqli($this->host, $this->username, $this->password ,$this->db_name);
if(!$this->link){
$this->error="connection Failed:".$this->link->connect_error;
return false;
}
}
/*
*Select
*/
public function select($query){
$result = $this->link->query($query) or die ($this->link->error.__LINE__);
mysql_query("SET NAMES 'utf8'");
if($result->num_rows > 0){
return $result;
}else{
return false;
}
}

/*
*Insert
*/
public function insert($query){
$insert_row = $this->link->query($query) or die ($this->link->error.__LINE__);

//Value Insert
if($insert_row){
header("Location: index.php?msg=".urlncode('Record Added'));
exit();
} else {
die('Error : ('.$this->link->errno.')'.$this->link->error);
}
}


/*
*Update
*/
public function update($query){
$update_row = $this->link->query($query) or die ($this->link->error.__LINE__);

//Validate Insert
if($update_row){
header("Location: index.php?msg=".urlncode('Record Updated'));
exit();
} else {
die('Error : ('.$this->link->errno.')'.$this->link->error);
}
}

/*
* Deleted
*/
public function delete($query){
$delete_row = $this->link->query($query) or die ($this->link->error.__LINE__);

//Validate Insert
if($delete_row){
header("Location: index.php?msg=".urlncode('Record Deleted'));
exit();
} else {
die('Error : ('.$this->link->errno.')'.$this->link->error);
}
}




}
?>
[/PHPS]
 

پیوست ها

  • Untitled.jpg
    Untitled.jpg
    303 کیلوبایت · بازدیدها: 14

FOR8D

New Member
با درود


شما می بایستی به MySql اعلام کنید که اطلاعات درخواستی را به صورت یونیکد تحویل بدهد .
برای این کار بعد از اتصال همیشه دو دستور زیر را بنویسید.


کد:
$this->likn->query("SET NAMES 'UTF8'"); // set encoding
$this->likn->set_charset('utf8'); // set encoding


متد connect کلاس خود را با کد زیر جایگزین کنید.


کد:
private function connect() {         
    $this->link = new mysqli($this->host, $this->username, $this->password ,$this->db_name);
    $this->likn->query("SET NAMES 'UTF8'"); // set encoding
    $this->likn->set_charset('utf8'); // set encoding
    if(!$this->link){
        $this->error="connection Failed:".$this->link->connect_error;
        return false;
    }
    return $this->likn; // return true
}


موفق باشید.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا