چجوری میشه مشکل انکودینگ رو اساسی برطرف کرد ؟

شروع موضوع توسط omid020 ‏28 مارس 2007 در انجمن PHP

  1. omid020

    omid020 کاربر تازه وارد

    تاریخ عضویت:
    ‏29 آگوست 2006
    نوشته ها:
    32
    تشکر شده:
    0
    سلام:D :(

    سلام تو خیلی از اسکریپت ها مثل خبرنامه وقتی متنی می نویسی
    و اونو تو دیتابیس ذخیره می کنی می بینی که به هم می ریزه و
    تمام حروف به کاراکترهای نامشخص تبدیل میشند . ولی وقتی فرضاً با
    PHPMYAdmin میری تو دیتابیس و اون فیلد رو ویرایش می کنی و همون جا
    فارسی می نویسی و ذخیرش می کنی و به محیط اسکریپت برمی گردی می بینی
    که همه چیز درسته و متن به زبان فارسی قابل مشاهده است .
    می خواستم بدونم چه چیز هایی باعث میشند که این اتفاق بیفته .
    مثلا چی باعث این میشه که کاراکترهای زیر در دیتابیس که برای نمایش به صورت
    فارسی مناسب هستند ،
    نوار نقاله
    به کاراکتر های زیر تبدیل بشند که نمی تونند حروف فارسی رو به خوبی در مرورگر ها نمایش بدند .
    %u0627تفاق
    جالب اینجاست که وقتی کاراکترهای زیر رو
    نوار نقاله
    در ادیتور اسکریپت پیست می کنی و دوباره ذخیره می کنی به کاراکتر های زیر تبدیل میشند :
    &amp;#1606;&amp;#1608;&amp;#1575;&amp;#1585; &amp;#1606;&amp;#1602;&amp;#1575;&amp;#1604;&amp;#1607; &amp;#1740; &amp;#1605;&amp;#1575; &amp;#1576;&amp;#1575;&amp;#1588;<br />
    . کسی میتونه کمکم کنه که اینجور مشکلات رو راحت حل کنم ؟
     
  2. خدمات پی پالبازدیدیار - افزایش بازدید سایت و سیگنال های برند
  3. omid020

    omid020 کاربر تازه وارد

    تاریخ عضویت:
    ‏29 آگوست 2006
    نوشته ها:
    32
    تشکر شده:
    0
    تصویر کاراکترهای یونیکد رو پیوستش کردم تا راحت تر بفهمید چی می گم .
    رو تصویر ریز زیر کلیک کنید تا بزرگ شدش رو ببینید .

    unicode.jpg
     
  4. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    یه احتمال اینه که اسکریپت شما توش htmlentities یا توابع مشابه اون به کار رفته باشه.
     
  5. omid020

    omid020 کاربر تازه وارد

    تاریخ عضویت:
    ‏29 آگوست 2006
    نوشته ها:
    32
    تشکر شده:
    0
    راستش از ادیتور tinymce استفاده می کنه حالا نمی دونم htmlentities هم توش هست یا نه .
     
  6. omid020

    omid020 کاربر تازه وارد

    تاریخ عضویت:
    ‏29 آگوست 2006
    نوشته ها:
    32
    تشکر شده:
    0
    کسی نمیتونه کمکی کنه ؟
     
  7. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
    صفحه شما باید انکودینگش UTF-8 باشه که برای این باید متا تگ بالا صفحه بزاری (منظور از صفحه جایی هست که فرم شما داخلش فارسی نوشته میشه و بعد ارسال میشه)

    بنظرم مشکلی اصلیت همین اولی هست ولی بقیه رو هم بخون رعایت کن :

    داخل دیتابیس برای فیلدهایی که میخوای متن ذخیره کنی از Collation با utf_general_ci و utf_persian_ci استفاده کن

    اگر سرور mysql بصورت پیش فرض utf کانکت نمی کنه حتما بعد از کانکت به دیتابیس با یک query دستور set names utf8 را بفرست تا دچار مشکل کانورت اتوماتیک mysql نشی
     
عسل طبیعی و گرده گل ایرانی