PDA

View Full Version : مشکل encoding دیتابیس



alimooghashang
سه شنبه 03 اردیبهشت 1387, 17:19 عصر
سلام

من یه فرم دارم که با متد get اطلاعات را برای دیتا بیس میفرستم
ولی تو دیتابیس encoding را هر چی انتخاب میکنم همش خرچنگ قورباغه نشون میده
نمیدونین چرا؟

مرسی
از کمکتون

امید امرایی
سه شنبه 03 اردیبهشت 1387, 20:57 عصر
بله ولی مهم نیست چون هنگام بازخوانی اطلاعات درست می شن خودشون
البته در متون فارسی لازمه که از utf8_persian_ci استفاده بکنید

alimooghashang
سه شنبه 03 اردیبهشت 1387, 21:03 عصر
من از همین utf8_persian_ci استفاه کردم ولی نمیدونم چرا وقتی اطلاعات را Print میگیرم
خرچنگ قورباغه نشون میده

امید امرایی
سه شنبه 03 اردیبهشت 1387, 21:11 عصر
منظورتون از پرینت گرفتن دقیقا چیه ؟

nematia
چهارشنبه 04 اردیبهشت 1387, 12:27 عصر
اینو 1-2 سال پیش نوشتم. شاید کمک کنه.

Mah
چهارشنبه 04 اردیبهشت 1387, 12:45 عصر
سلام .
تو رو خدا اول جستجو .......
اینجا را ببین . (http://barnamenevis.org/forum/showthread.php?t=100403#2)

sama01
پنج شنبه 27 تیر 1387, 18:24 عصر
من هم این مشکل را دارم.
encoding دیتابیس و فیلد‌ها هم همین utf8_persian_ci هست. ولی اطلاعات درست ذخیره نمی‌شه.
البته وقتی از خود phpMyAdmin وارد می‌کنم مشکلی نداره و عینا فارسی ذخیره می‌شه.

مشکل کجاست؟

alimooghashang
پنج شنبه 27 تیر 1387, 18:35 عصر
version ه phpmyadmin ات چنده؟

sama01
پنج شنبه 27 تیر 1387, 18:45 عصر
version ه phpmyadmin ات چنده؟

phpMyAdmin - 2.11.6

alimooghashang
پنج شنبه 27 تیر 1387, 19:46 عصر
اگه میتونی نمونه کدت را بفرست تا بررسی بشه
اگرم نه اینو که بالای کد HTML ات داری؟

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


این متا تگ برای utf-8 که فارسی هم جزو اونها است استفاده میشه
باید تو صفحه ای که فرم اطلاعات را برای دیتابیس میفرسته باشه

sama01
پنج شنبه 27 تیر 1387, 21:04 عصر
بله. من در تمامی صفحاتم، charset را مشخص می‌کنم.

مشکلم تا حدودی حل شده. ظاهرا داده‌هایی را که در محیط خود phpMyAdmin وارد می‌کنم، فقط در همان‌جا فارسی دیده می‌شوند و در خروجی برنامه‌ی خودم به صورت ؟؟؟؟ دیده می‌شوند.
داده‌هایی را هم که از طریق برنامه وارد می‌کنم، در برنامه درست هستند ولی در phpMyAdmin خرچنگ غورباقه دیده می‌شوند.
دلیلش چیه نمی‌دونم. ولی به هر حال فعلا مشکلم حل شده.
اگر کسی دلیل این اتفاق رو می‌دونه ممنون می‌شم به ما هم بگه.

alimooghashang
پنج شنبه 27 تیر 1387, 21:37 عصر
بله. من در تمامی صفحاتم، charset را مشخص می‌کنم.

مشکلم تا حدودی حل شده. ظاهرا داده‌هایی را که در محیط خود phpMyAdmin وارد می‌کنم، فقط در همان‌جا فارسی دیده می‌شوند و در خروجی برنامه‌ی خودم به صورت ؟؟؟؟ دیده می‌شوند.
داده‌هایی را هم که از طریق برنامه وارد می‌کنم، در برنامه درست هستند ولی در phpMyAdmin خرچنگ غورباقه دیده می‌شوند.
دلیلش چیه نمی‌دونم. ولی به هر حال فعلا مشکلم حل شده.
اگر کسی دلیل این اتفاق رو می‌دونه ممنون می‌شم به ما هم بگه.

خوب این طبیعت phpmyadmin هست که خرچنگ غورباقه نشون بده
چون اونا را تبدیل به کد unicode میکنه و شما نمیتونی به راحتی اونو بخونی

اگر مشکلتو با مثال میگفتی شاید بهتر میشد حلش کرد
بهر حال موفق باشی

taknegaar
یک شنبه 30 تیر 1387, 12:46 عصر
این مساله به phpmyadmin ارتباط نداره.
شما برای اینکه بتونید اطلاعات رو درست insert کنید و یا نمایش بدید
باید connection تون رو یونیکد set کنید.
پس یا بر روی سرور و از طریق تنظمیمات mysql اینکار رو بکنید
و یا قبل هر کاری اولین دستور sql که میزنید این باشه:


SET NAMES 'utf8';



البته لازم نیست برای هر دستور sql این رو اجرا کنید فقط یکبار اجرا کنید و تا موقعی که کانکشنتون برقراره همه چی درسته.
در ضمن کارکترست صفحه تون رو هم درست بگذارید:



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">