PDA

View Full Version : مشکل ذخیره کاراکتر فارسی در mysql



farnoosh66
جمعه 09 فروردین 1398, 02:47 صبح
سلام دوستان
بنده هم collation هر ستون و هم خود دیتابیس رو روی utf8_persian_ci




گذاشتم .خط زیر هم توی connect استفاده کردم ولی حروف فارسی به شکل



یبیسب



ذخیره میشه.ممنون میشم راهنماییم کنید.







$connect=new pdo($dns,$user,$pass);
$connect->exec("SET character_set_connection='utf8'");
$connect->exec("set tblregister 'UTF8'");

charcharkh
جمعه 09 فروردین 1398, 14:19 عصر
دیتابیس رو بزار utf8_general_ci و بعد خود جدول و هر فیلد رو که بایست توش فارسی وارد بشه بزار
utf8_persian_ci
دقیقا همینجور که گفته شد

اینم قبل همه بزن
mysql_query("set names 'utf8'");

اونی که خودت زدی رو پاک کن

farnoosh66
سه شنبه 13 فروردین 1398, 00:24 صبح
ممنون از پاسختون.من خیلی تلاش کردم چند روزه به نتیجه نرسیدم مجدد از شما کمک بگیرم.
دیتابیس رو همونجور که گفتین انجام دادم ، ولی کدی که دادین جایگزین کد خودم بکنم نشد، یعنی اصلا از نظر symtax هم خطا داد، من تازه php یاد گرفتم و فقط کد شمارو به همون صورت کپی کردم، میشه بیشتر راهنماییم کنید. دقیقا کد connect میزارم پایین ممنون میشم بفرمایید چی به چه صورت اضافه کنم.


<head>
<meta charset="utf8_persian_ci ">
</head>
<?php

$server="localhost";
$user="root";
$pass="";
$dbname="webazmoo_folad";



$dns="mysql:host=$server;dbname=$dbname";
try
{

$connect=new pdo($dns,$user,$pass);
$connect->exec("SET character_set_connection='utf8'");
$connect->exec("set tblregister 'UTF8'");

}
catch (pdoExeption $error){

echo "unable connect".$error->getMessage();
}
?>

nik1000
پنج شنبه 15 فروردین 1398, 00:27 صبح
برای mysqli


<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");

// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8');

// But, this will NOT affect it (utf-8 vs utf8) -- don't use dashes here
$mysqli->set_charset('utf-8');

?>


برای pdo



<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8", 'my_user', 'my_pass');
?>


در زمان طراحی پایگاه داده **collation خود پایگاه داده-جدول-فیلد- روی utf-8_general_ci قرار بدید

اینم درست کنید

<meta charset="UTF-8">