مشکل با ذخیره متن فارسی در دیتابیس
سلام
من یک مشکل دارم.من یک کد php نوشتم که بعد از زدن یک دکمه یک سری اطلاعات را در دیتابیس ذخیره می کنه.اگر دستی از phpmyadmin اطلاعات مورد نظر را در تیبل وارد کنم متن فارسی درست نشون داده می شه اما اگه کاربر بر روی دکه ثبت فرم کلیک کنه با متد post اطلاعات فرستاده می شود اگر کنار کوری اینسرت دستور echo بگذاریم متن فارسی درست نشون داده می شود اما وقتی در دیتابیس ذخیره می کنه به صورت ؟؟؟؟ ذخیره می شود.هنگام اتصال به دیتابیس از دستور
mysql_query("SET CHARACTER SET utf8;");
استفاده شده باز هم همین مشکل داریم.در ضمن وقتی به صورت دستی از phpmyadmin رکورد را وارد می کنم بعد با دستور select اونو چاپ می کنم متن فارسی درست نشون داده می شود.
مشکل کجاست؟
ممنون
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
سلام دوست عزیز
باید همیشه یسری چیز هارو چک کنی
1- موقع ساخت دیتا بیس تنظیمات collation دیتا بیس رو روی utf8_general_ci یا utf8_persian_ci قرار بدی. 2- موقع ساخت تیبل هم تنظیمات collation رو روی یکی از این دو مورد قرار بده
3- هر فیلدی که توی تیبل قراره نوشته فارسی داخلش نوشته بشه رو هم باید طبق بالا روی یکی از این دو مورد بزاری
4- قبل از هر کاری روی دیتا بیس این دستور اجرا باید بشه
mysql_query('SET NAMES UTF8;');
این موارد پیش فرض دیتا بیس هست که توی مراحل بالاتر که از PDO استفاده بشه تنظیمات فرق داره (البته فقط مورد 4)
اما یه مورد دیگه هم هست که باید رعایت کنی و به HTML مربوط هست. استفاده از کد:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
این کد هم اگر نباشه توی HTML میتونه دیتا رو بهم بریزه ایشاالله که مشکلت حل میشه
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
نقل قول:
نوشته شده توسط
javoooni
سلام دوست عزیز
باید همیشه یسری چیز هارو چک کنی
1- موقع ساخت دیتا بیس تنظیمات collation دیتا بیس رو روی utf8_general_ci یا utf8_persian_ci قرار بدی. 2- موقع ساخت تیبل هم تنظیمات collation رو روی یکی از این دو مورد قرار بده
3- هر فیلدی که توی تیبل قراره نوشته فارسی داخلش نوشته بشه رو هم باید طبق بالا روی یکی از این دو مورد بزاری
4- قبل از هر کاری روی دیتا بیس این دستور اجرا باید بشه
mysql_query('SET NAMES UTF8;');
این موارد پیش فرض دیتا بیس هست که توی مراحل بالاتر که از PDO استفاده بشه تنظیمات فرق داره (البته فقط مورد 4)
اما یه مورد دیگه هم هست که باید رعایت کنی و به HTML مربوط هست. استفاده از کد:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
این کد هم اگر نباشه توی HTML میتونه دیتا رو بهم بریزه ایشاالله که مشکلت حل میشه
سلام
همه این ها رعایت شده
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
خود فایل های HTML و PHP رو در هنگام ذخیره کردن روی UTF-8 گذاشتید؟!
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
سلام.
منم این مشکل رو دارم اما با کمی تفاوت...
ممنون میشم به این تاپیک سری بزنید :
https://barnamenevis.org/showthread.p...09#post1903609
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
قبل از رشته های فارسی توی دستورات اس کیو ال N بزارید
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
نقل قول:
نوشته شده توسط
aliebrahimi1900
قبل از رشته های فارسی توی دستورات اس کیو ال N بزارید
دستورات اس کیو ال نه mysql
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
منم این مشکل رو دارم
این دستوراتم گذاشتم ولی بازم درست نشد
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER_SET utf8');
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
نقل قول:
نوشته شده توسط
sardarn
سلام
من یک مشکل دارم.من یک کد php نوشتم که بعد از زدن یک دکمه یک سری اطلاعات را در دیتابیس ذخیره می کنه.اگر دستی از phpmyadmin اطلاعات مورد نظر را در تیبل وارد کنم متن فارسی درست نشون داده می شه اما اگه کاربر بر روی دکه ثبت فرم کلیک کنه با متد post اطلاعات فرستاده می شود اگر کنار کوری اینسرت دستور echo بگذاریم متن فارسی درست نشون داده می شود اما وقتی در دیتابیس ذخیره می کنه به صورت ؟؟؟؟ ذخیره می شود.هنگام اتصال به دیتابیس از دستور
mysql_query("SET CHARACTER SET utf8;");
استفاده شده باز هم همین مشکل داریم.در ضمن وقتی به صورت دستی از phpmyadmin رکورد را وارد می کنم بعد با دستور select اونو چاپ می کنم متن فارسی درست نشون داده می شود.
مشکل کجاست؟
ممنون
من فکر میکنم این مشکل میتونه با هاستی که اطلاعات توش ذخیره میشه هم مرتبط باشه
نقل قول: مشکل با ذخیره متن فارسی در دیتابیس
من هم این مشکل رو دارم که متن فارسی توی تیبل دیتابیسم درج میکنم و بعد توی فایل php به صورت سلام درمیاد
یا با اندروید یه متنی رو به فایل php ارسال میکنم اما توی دیتا بیس به صورت سلام درمیاد
ممنون میشم کمکم کنید