زمان ارسال: 2 شنبه Sep 24, 2007 9:50 pm موضوع: مشکل حرف ی عربی در قالب فارسی.
تاريخ عضويت: 23 Nov 2006 ارسالها: 149
سلام.
سایت ما انکدینگش عربیک هست. دو تا قالب که انکدینگش عربی بود رو روی سایت داشتم. امروز دو تا قالب دیگه اضافه کردم.
داشتم تست میکردم که به مشکلی برخوردم. انکدینگ قالبهای جدید UTF-8 بود. و خب در تیتر تاپیکها مشکل همیشگی ی و ي پیش آمد و چون فوروم فقط ي عربی رو میشناخت بعد از استفاده از ی فارسی یه سری اعداد و کارکتر نمایش میده.
1- چاره این کار چیه؟ چطوری انکدینگ اون قالبهارو تبدیل کنم به عربی تا روی فوروم مشکلی نباشه؟ اینم بگم استیل قالب دقیقا مثل اینجاست. یعنی ادیتور و فیلد ورد و ... همگی انگلیسی هست و برای فارسی نوشتن باید شیفت + alt رو زد و از فارسی ساز خود ویندوز استفاده کرد. کدی؟ مودی؟ ...؟
2- چیکار میشه کرد برای اینکه انکدینگ سایت UTF-8 یا همون فارسی بشه؟ دقیقا مثل اینجا. باید از فارسی ساز فارسی استفاده کرد؟ راه و روشش چطوریه؟ مراحلش سخته؟
مافکو جان اینکودینگ قالب چه ربطی به اینکودینگ دیتابیس داره ؟
شما وقتی اینکودینگ دیتابیس عربی باشه و با ویندوز فارسی توش بخوای مطلب بنویسی تمامی ی ها مشکل پیدا میکنه چون ی فارسی تو اینکودینگ عربی تعریف نشده ولی ی عربی تو یونی کد تعریف شده و ما تو UTF-8 میتونیم از هر جفتش استفاده کنیم.
برای مورد 1 یادمه یه اسکریپت بود که فقط روی IE کار میکرد و طرف با کلیک روی یک دکمه بدون زدن alt و shift میتونست فارسی بنویسه و تمامی ی ها رو هم عربی میزد ولی اگر کسی از یه مرورگر دیگه استفاده می کرد اون کد دیگه کار نمی گرد.
برای مورد2 هم شما باید دیتابیست رو توی یه ادیتور مثل emeditor باز کنید و اینکودینگش رو به UTF-8 تبدیل کنید
البته من هیچ وقت روی یه دیتابیس بزرگ امتحان کردم ولی روی دیتابیس کوچیک جواب داده بود
امیر عباس جان.
خب اگه نشه دیتابیس رو مطابق اون کرد. میشه قالب رو مطابق سایت کرد. یعنی قالب رو قابلیت فارسی نویسی که تو همون مقاله هه هست بهش داد. میشه؟
قالب رو تا یه حدودی فارسی کردم. مشکلات تیتر و ... حل شد.
فقط یه مشکل به این شکل هست:
این ارور همیشگی نیست. شاید از هر بیست صفحه ای که باز میشه فقط یک صفحه ختم به این ارور بشه. یعنی همیشگی نیست. الان نیم ساعته تو فورومم. ولی این ارور رو ندیدم. ولی بعضی وقتا میاد.
مشکل از کجاست؟ راه حل چیه؟
يعني چي ديتابس رو utf-8 کني. منظورت اينکود يکيک يکي تيبلهاش رو از مقدار پيش فرض سرور (latin) به utf-8 تبديل کنيم؟ در اين صورت همه سيستم من يکي ميريزه به هم و تو بکاپ گرفتن و ريستور کردن بيچاره ميکنه آخرشم کل ديتابيس خراب ميشه.
به نظر من بهتره ديتابيس رو دست نزنيد و فقط بزاريد اسکريپت با اينکود مورد نظر کار کنه.