-
برگرداندن نوشته های خراب شده به خاطر utf8
سلام - من از روشی برای ارسال اطلاعات به دیتابیس استفاده می کردم که بعدا متوجه شدم نوشته ها به صورت نادرست به دیتابیس فرستاده می شوند؛ یعنی به این صورت:
کد PHP:
%D8%AA%D8%B5%D9%88%DB%8C%D8%B1%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C_%D9%BE%D8%B2%D8%B4%DA%A9%DB%8C
تعداد رکورد ها هم به چند هزارتایی میرسند و اطلاعات واقعا ارزشمندی هستند؛ آیا روشی چیزی هست که به کلیه نوشته ها توی دیتابیس (phpmyadmin) به صورت درست نشان داده بشود؟
-
-
June 5th, 2011 15:38
# ADS
-
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
با php یک بار بخوان ان کود دکود کن و به Utf-8 بریز تو جدول جدید
یعنی ساختار جدول جدیدت کارکتر ست utf-8 general or persian باشه
من یک کد نوشته بودم که وصل میشد به دیتابیس نام کل جداولش رو می گرفت به ازای تک تک فیلد ها در دیتابیس جدید جداول و فیلدهارو می ساخت و داده هارو انتقال می داد
سرعت انتقال هم بالاست (شما گفتی چند هزارتاست)
-
-
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
نوشته اصلی توسط
tinavps
با php یک بار بخوان ان کود دکود کن و به Utf-8 بریز تو جدول جدید
یعنی ساختار جدول جدیدت کارکتر ست utf-8 general or persian باشه
من یک کد نوشته بودم که وصل میشد به دیتابیس نام کل جداولش رو می گرفت به ازای تک تک فیلد ها در دیتابیس جدید جداول و فیلدهارو می ساخت و داده هارو انتقال می داد
سرعت انتقال هم بالاست (شما گفتی چند هزارتاست)
حدود 8هزار رکورد میشه و یک جدول هم بیشتر نیست. می تونی کدش رو برام بذاری!؟
ممنون.
-
-
March 9th, 2012, 23:06
#4
عضو جدید
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
با سلام
این موضوع به خاطر دابل انکدینگ هستش که متاسفانه یکی از ضعف های phpmyadmin هست ولی در خروجی اگه utf-8 تنظیم کنید حروف درست میشن ولی تو phpmyadmin این مشکل به راختی برطرف نمیشه
وقتي برنده ميشوي، نيازي به توضيح نداري! وقتي مي بازي چیزی برای توضیح دادن نداری! هیتلر
-
-
March 10th, 2012, 00:19
#5
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
نوشته اصلی توسط
افرادیتا
با سلام
این موضوع به خاطر دابل انکدینگ هستش که متاسفانه یکی از ضعف های phpmyadmin هست ولی در خروجی اگه utf-8 تنظیم کنید حروف درست میشن ولی تو phpmyadmin این مشکل به راختی برطرف نمیشه
تاپیک زیر خاکی برای پارسال هست !
این مشکل هم ربطی به دیتابیس و phpmyadmin نداره عبارت هایی که ذخیره کردند urlencode هست و باید با تابع urldecode به حالت عادی utf8 بازگردند ! مثلا همین عبارتی که در بالا نوشتند به فارسی میشه "تصویربرداری_پزشکی "
-
-
March 10th, 2012, 02:43
#6
عضو انجمن
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
نوشته اصلی توسط
ali2k
تاپیک زیر خاکی برای پارسال هست !
این مشکل هم ربطی به دیتابیس و phpmyadmin نداره عبارت هایی که ذخیره کردند urlencode هست و باید با تابع urldecode به حالت عادی utf8 بازگردند ! مثلا همین عبارتی که در بالا نوشتند به فارسی میشه "تصویربرداری_پزشکی "
میشه توضیح کامل تر بدید؟
-
-
March 10th, 2012, 12:06
#7
پاسخ : برگرداندن نوشته های خراب شده به خاطر utf8
نوشته اصلی توسط
payam_shzbax
میشه توضیح کامل تر بدید؟
برای جابجایی اطلاعات در url که متد GET هست طبق استاندارد پروتکل http باید url encode صورت بگیره و وقتی اطلاعات را خواستید دوباره استفاده کنید باید url decode انجام بشه ، مثلا شما در گوگل یک کلمه فارسی سرچ کنید بعد به ادرس url نگاه کنید متوجه می شید که یکسری عبارت که با % شروع میشن در url هست که این تبدیل شده متن فارسی به urlencode هست حالا مشکل که استارتر گفتند به خاطر ذخیره کردن urlencode هست کافیه با مثلا php هر متن را به تابع urldecode بدهند و خروجی متن فارسی utf8 صحیح قابل استفاده خواهد بود.
-