PDA

View Full Version : مشکل جدید در یونیکد



houtanal
سه شنبه 07 مهر 1383, 02:08 صبح
سلام
من امشب که خواستم در یکی از فرم هام متن فارسی وارد کنم با کمال تعجب دیدم که در دیتا بیس به صورت یونیکد اضافه نمی شود و به صورت همان متن فارسی عادی است.(قبلا چنین مشکلی نداشتم)
برای درست دیدن مطلب مجبورم کدپیج را در مرورگر مساوی utf8 قرار دهم.
در ضمن در هدر صفحه فرمم هم این عبارت وارد شده


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

oxygenws
سه شنبه 07 مهر 1383, 09:49 صبح
:?:

houtanal
سه شنبه 07 مهر 1383, 12:59 عصر
می خوام فیلد های بانک اطلاعاتیم به صورت یونیکد پر شوند.

oxygenws
سه شنبه 07 مهر 1383, 13:11 عصر
ساده ترین و بهترین راه گذاشتن همون تگی است که گفتید، اصلش هم همینه. حالا چه مشکلی با این قضیه دارید؟!

houtanal
سه شنبه 07 مهر 1383, 13:31 عصر
مشکلم اینه که کار نمی کنه (:D)
در دیتا بیس به صورت یونیکد اضافه نمی شه.

Spoofed
سه شنبه 07 مهر 1383, 13:52 عصر
فکر کنم اکسیژن جان تابحال چندین بار در این بخش گفته اند که نگارش فعلی پایدار مای اس کیوال از یونیکد پشتیبانی تمام و کمالی نمی کند. بنابراین داده های رشته ای شما یونیکد ثبت نخواهند شد.

http://dev.mysql.com/doc/mysql/en/Charset-Unicode.html


Currently, MySQL UTF8 support does not include four-byte sequences.

Tip: To save space with UTF8, use VARCHAR instead of CHAR. Otherwise, MySQL has to reserve 30 bytes for a CHAR(10) CHARACTER SET utf8 column, because that's the maximum possible length.

houtanal
سه شنبه 07 مهر 1383, 13:58 عصر
از قضای آمده تا دو هفته پیش همین سیستم مشکلی نداشت.

houtanal
سه شنبه 07 مهر 1383, 14:57 عصر
فکر می کنم تنها راهی که مانده اینه که به همون صورت utf8 یونیکد نشده ذخیره کنم.
(اما قبلا وقتی charset=utf-8 قرار میدادم به صورت یونیکد در جدول ذخیره می کرد.!!!)

oxygenws
سه شنبه 07 مهر 1383, 16:03 عصر
هوتن، از کجا فهمیدی یونیکد ذخیره نمی شه؟؟
چطوری بازیابی اش می کنی؟؟

houtanal
سه شنبه 07 مهر 1383, 17:38 عصر
phpmyadmin
EMS mysql manager
قبلا یونیکد ذخیره می شد و با هر کد پیجی می تونستن در صفحه نمایش بدم اما الان دیگه این کار رو نمیکنه و فقط کدپیج utf8 رو قبول می کنه.سایرین باعث به هم ریختن نوشته ها میشن.

oxygenws
سه شنبه 07 مهر 1383, 20:33 عصر
تا اونجایی که من می دونم (از آخرین نسخه ها) نه phpmyadmin و نه EMS یونیکد رو پشتیبانی نمی کنند.
شما چرا خروجی رو توی HTML چک نمی کنید؟؟
با همین تگی که گفتید:

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

در ضمن، من حدس می زنم قبلا یه اشکالی تو کارت بوده و الان درسته!!!!‌ :)

موفق باشید، امید

houtanal
سه شنبه 07 مهر 1383, 20:43 عصر
در سورس صفحه هم چک کردم بجای یونیکد فارسی می نویسه.
مقدار defult_charset رو در php.ini مساوی utf-8 قرار دادم فعلا هین ها رو بدون مشکل می خونه.

oxygenws
سه شنبه 07 مهر 1383, 21:46 عصر
به نظر میاد صفحه html ای که ورودی رو باهاش می گیری مشکل داره.

houtanal
سه شنبه 07 مهر 1383, 23:19 عصر
به نظر میاد صفحه html ای که ورودی رو باهاش می گیری مشکل داره.بابا با همین دو هفته پیش کار می کردم.

oxygenws
چهارشنبه 08 مهر 1383, 09:07 صبح
آخه این ترکیب حروف 7 کاراکتری که وارد بانک شده مال استاندارد های ویندوزه!!! یعنی اصلا ورودی شما مثلا arabic-1256 (فکر کنم این بود) بوده.

nematia
پنج شنبه 09 مهر 1383, 01:56 صبح
اگه از dreamweaver استفاده میکنی غیر از header ذکر شده خصوصیت صفحه هم میتونه روی نوع خروجی تاثیر بذاره. یعنی ممکنه خروجی اون چیزی که تو هدر مشخص شده نباشه!

houtanal
پنج شنبه 09 مهر 1383, 04:44 صبح
اگه از dreamweaver استفاده میکنی غیر از header ذکر شده خصوصیت صفحه هم میتونه روی نوع خروجی تاثیر بذاره. یعنی ممکنه خروجی اون چیزی که تو هدر مشخص شده نباشه!نه از zend استفاده می کنم . به هر حال مهم نیست فعلا داره کار می کنه.