سلام ، آیا این بازدید اول شماست ؟ یا

نمایش نتیجه های نظرسنجی ها: نظر شما در مورد توضیحات چیست؟

رأی دهندگان
3. شما نمی توانید در این نظرسنجی رای دهید.
  • کم است.

    1 33.33%
  • کافی است.

    1 33.33%
  • حد زیاد است.

    1 33.33%
  • بیش از حد زیاد است.

    0 0%
  • نا مفهوم است

    0 0%
نظرسنجی با انتخاب چندگانه
نمایش نتایج: از شماره 1 تا 10 , از مجموع 20

موضوع: فارسی سازی tableهای پایگاه داده برای نمایش فارسی داده های فرم ها

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    تاریخ عضویت
    Jun 2011
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    Talking فارسی سازی tableهای پایگاه داده برای نمایش فارسی داده های فرم ها

    سلام
    قبل از شروع از اینکه برای خیلی ها زیادی توضیح دادم پوزش، اما دوست ندارم کسی اشتباه کنه.
    و بعد هم از اینکه انجمن امکان آپلود فایل رو نداد تا کد مورد نیاز رو آپلود کنم و راس و چپش به هم ریخته ...!


    حتما برایتان پیش آمده که وقتی افزونه ای رو نصب می کنید، مخصوصا فرم ساز ها رو، پس از ورود اطلاعات و وقتی که می خواهید خروجی بگیرید و یا حتی قالب خود فرم در Front end سایت، نوشته های فارسی به صورت چندین ؟؟؟؟؟ نمایش داده می شوند.
    در همین انجمن هم سوال هایی شده:
    [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
    یا
    [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]


    البته راه حل این مشکل، همونطور که دوستان جواب دادن تغییر دستی charset و collation یا همون انکودینگ (ٍencoding) پایگاه داده هست.

    بعلاوه، برای حل این مشکل راه سریع تر و بعلاوه ساده تری از تغییر دستی charset و collation پایگاه داده وجود دارد و اون هم اجرای یک دستور SQL هست. این دستور رو حداقل باید در PHPMyadmin و در پنل خودتون اجرا کنید اما فرقش اینه که با یک بار اجرای این دستور همه پایگاه داده شما به انکودینگ UTF8 و utf8_general_ci یا هر چیز دیگری که شما بخواهید تبدیل می شوند.

    حالا این دستور رو از کجا بیاریم؟
    این چیزیه که می خواهم توضیح بدم:

    برای این کار لازمه یک فایل .php در یکی از فولدر های سرور ایجاد کنید و کد زیر رو بعد از انجام چند تغییر در اون قرار بدین و بعد از اجرای مسیر فایل کد برای شما ایجاد می شود. تنها کاری که باید انجام بدین کپی کردن اون کد در phpmyadmin و در تب SQL در پایگاه دادهتون هست.

    در اجرای تنضیمات دقت کنید.
    تنظیم نکردن نام پایگاه داده باعث تغییر انکودینگ همه پایگاه های داده میشه
    که می تونه
    برای information_schema', 'mysql' مشکل ایجاد کنه.

    کد:
    کد:
    <?php
     
    //MySQL connection settings
    $db_server = 'localhost';
    $db_user="root";
    $db_password="";
     
    mysql_connect($db_server, $db_user, $db_password) or die(mysql_error());
     
    //نام پایگاه داده خود را که می خواهید تغییر کند اینجا و در میان '' بنویسید. این جایی است که نباید فراموش کنید!
    $dblist=array('');
     
    //نام پایگاه داده ای که نباید دستکاری شود را اینجا قرار دهید. اگر بالایی را تنطیم کرده اید، نیازی به این نیست.
    $skip_db_list = array('information_schema', 'mysql');
     
    //Which charset to convert to?
    $charset="utf8";
     
    //Which collation to convert to?
    $collation="utf8_general_ci";
     
    //Only print queries without execution?
    $printonly=true;
     
    //Getting database names if they are not specified
    $skip_db_text = '"'.implode('", "', $skip_db_list).'"';
    if(count($dblist)<1) {
                    $sql="SELECT GROUP_CONCAT(`SCHEMA_NAME` SEPARATOR ',') AS FRST FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME` NOT IN ($skip_db_text)";
                    $result = mysql_query($sql) or die(mysql_error());
                    $data = mysql_fetch_assoc ($result);
                    $dblist=explode(",", $data["FRST"]);
    }
     
    //Iterating databases
    foreach ($dblist as $dbname) {
                    $sql="SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET $charset COLLATE $collation;') as FRST FROM `information_schema`.`TABLES` t WHERE t.`TABLE_SCHEMA` = '$dbname' ORDER BY 1";
     
                    $result = mysql_query($sql) or die(mysql_error());
                    while ($row = mysql_fetch_assoc($result)) {
                                    echo $row["FRST"]."\r\n";
                                    if(!$printonly) {
                                                    mysql_query($row["FRST"]) or die(mysql_error());
                                    }
                    }
    }
    ?>

    قسمت های سبز را مطابق با پایگاه داده جوملای خود پر کنید.
    در قسمت قرمز نام پایگاه داده جوملای خود را بگذارید. (نام database کل جوملا!)
    قسمت بنقش را در صورتی که نمی خواهید قرمز را پر کنید تکمیل کنید

    حال آدرس فایل را بر روی سرور در مرورگر خود وارد کنید. اگر همه چیز را درست انجام داده باشید، یک صفحه حاوی کد مورد نطر نمایش داده می شود.
    همه کد موجود در صفحه را به عنوان دستور SQL در phpmyadmin وارد کنید.

    شاد باشید و همیشه بخندید.

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


  2. # ADS
    تبلیغات در جوملا فارسی
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

موضوعات مشابه

  1. پاسخ ها: 5
    آخرين نوشته: 04-16-2012, 12:28 PM
  2. نشان داده شدن؟ به جای نوشته های فارسی رد جوملا1.5.20
    توسط rabbani1 در انجمن سوالهای عمومی جوملا 1.5 فارسی
    پاسخ ها: 5
    آخرين نوشته: 08-17-2011, 11:07 AM
  3. پایگاه داده ها در wampserver
    توسط gigileh در انجمن مدیریت جوملا 1.5 فارسی
    پاسخ ها: 1
    آخرين نوشته: 02-11-2011, 03:42 PM
  4. انتقال اطلاعات از یک پایگاه داده به پایگاه داده ی دیگر
    توسط yashtractor در انجمن سوالهای عمومی جوملا 1.5 فارسی
    پاسخ ها: 2
    آخرين نوشته: 11-18-2010, 01:47 PM

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •