PDA

View Full Version : نمایش کاراکتر ؟؟؟؟؟؟؟ بجای حروف فارسی



moghtada
پنج شنبه 19 فروردین 1395, 01:36 صبح
سلام اساتید عزیز
من یه سایت با php دارم که باید اطلاعات فارسی رو از کاربر بگیره و در دیتا بیس ذخیره کنه سایت لوکال خوب کار میکنه اطلاعات فارسی در دیتا بیس هم فارسی هستن ولی وقتی آپلود می کنم اطلاعات بصورت ؟؟؟؟ نمایش داده میشن
اطلاعات فارسی رو هم که آنلاین از کاربر میگیرم تو سایت درسته ولی تو دیتابیس حروف بهم ریخته نشون میده. چطور میتونم حلش کنم؟

charcharkh
پنج شنبه 19 فروردین 1395, 03:58 صبح
قبل از همه کوئری ها اینو بزن


set names 'utf-8'


اگر pdo زدی
اینو بزن

$dsn = 'mysql:charset=utf8;host=' . $this->host . ';dbname=' . $this->dbname;

در ضمن collation =دیتابیس باید general_ci باشه و collation تیبلهاتم باید persian_ci باشه هر فیلد هم بنا به شرایط همینطور persian_ci

moghtada
پنج شنبه 19 فروردین 1395, 11:09 صبح
[QUOTE=charcharkh;2313996]قبل از همه کوئری ها اینو بزن
[PHP]

ممنون از جواب ولی بازم نشد
رو سیستم خودم خوب کار میکنه ولی رو هاست بهم میریزه
الان تو مشاهده و درج اطلاعات فارسی تنها مشکلی که هست اینه که تو mysql حروف فارسی بهم ریخته میشه
در ضمن همون جدول لوکالم رو وارد سایت کردم

پیام حیاتی
پنج شنبه 19 فروردین 1395, 11:42 صبح
قبل از کوئری :


mysql_query('set names "utf8"');

کاکلشن جداول بر اساس utf_persian_ci

charcharkh
پنج شنبه 19 فروردین 1395, 12:37 عصر
صفحه رو توی notepad++ باز کن و encoding رو بزار روی utf-8 without BOM بعد save کن

moghtada
دوشنبه 23 فروردین 1395, 02:26 صبح
دم همتون گرم اینجوری حل شد

$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password , array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));8'));