سلام کارکتر فارسی رو در دیتابیس ذخیر مکنم ولی وقتی میخوام از دیتابیس دریافتش کنم ???? نمایشش میده باید چیکار کنم منون میشم راهنمایی کنید
سلام @wpuser
اگه از php استفاده می کنید و همچنین اتصالتون به دیتابیس به کمک PDO صورت میگیره باید به این صورت عمل کنید
$conn= new PDO('mysql:dbname=xnews;host=localhost;port=' . $LOCAL_DB_PORT,
$LOCAL_DB_USER,
$LOCAL_DB_PASS,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")
);
یا به جای استفاده در آرگومان آخر میتونید از setAttribute استفاده کنید
$conn->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND , "SET NAMES 'UTF8'");
داده های قبلی رو پاک کنید و دوباره اقدام به ذخیره اطلاعات کنید
موفق باشید
دوست عزیز از اگر در دیتابیس هم به صورت علامت سوال یا حروف ناخوانا ذخیره میشود. باید Collation فیلد مورد نظر در جدول مورد نظر خودتون رو به utf8_general_ci تغییر بدید .
اما اگر پس از select کردن از دیتابیس و هنگام نمایش در سایت برای شما علامت سوال یا حروف نامفهوم نشان میدهد. میتونید از روش زیر استفاده کنید.
$db = mysqli_query('localhost', 'root', '', 'ecommerce');
mysqli_query($db, "SET NAMES utf8");
سلام @wpuser
اگه از php استفاده می کنید و همچنین اتصالتون به دیتابیس به کمک PDO صورت میگیره باید به این صورت عمل کنید
$conn= new PDO('mysql:dbname=xnews;host=localhost;port=' . $LOCAL_DB_PORT,
$LOCAL_DB_USER,
$LOCAL_DB_PASS,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")
);
یا به جای استفاده در آرگومان آخر میتونید از setAttribute استفاده کنید
$conn->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND , "SET NAMES 'UTF8'");
داده های قبلی رو پاک کنید و دوباره اقدام به ذخیره اطلاعات کنید
موفق باشید
سلام به شما دوست عزیز.
وارد phpmyadmin بشو، رو دیتابیست کلیک کن، بعد operations رو انتخاب کن و Collection رو بذار رو utf8_general_ci و مجدد اطلاعات رو داخل دیتابیس ذخیره کن.
موفق باشید.
اقا @mojtaba8910 کاملا درست می گن
به احتمال زیاد مشکل شما از نوع دوم هست و کافیه یه بخش آپشن پاس بدین
دقت کنین وقتی set names utf8 رو پاس می دین
دیگه نمی تونین به روش آبجکتیو به بخش های ریسپاس دسترسی داشته باشین و باید از آرایه استفاده کنین
$result->home //قبل
$result['home'] //حالا
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟