نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    نهاوند (استان همدان)
    پست
    98

    Question مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    با سلام خدمت دوستان
    من با استفاده از کلاس new mysqli و از طریق تابع زیر به دیتابیس وصل می شم.

    function db_connect()
    {
    $Msg_Not_Connect = 'ارتباط با بانک اطلاعاتي برقرار نشد.';
    $Sql_Hostname = 'localhost';
    $DB_Username = 'root';
    $DB_Password = '';
    $DB_Name = 'books';

    $Result = new mysqli($Sql_Hostname, $DB_Username, $DB_Password, $DB_Name);
    if (!$Result)
    {
    throw new Exception($Msg_Not_Connect);
    }
    else
    {
    return $Result;
    }
    }

    برای به دست آوردن نام کاربرانم از تابع زیر استفاده می کنم. به طور مثال وقتی از دستورات زیر برای نمایش نام کاربران استفاده می کنم به جای کلمات فارسی علامت های سوال نمایش داده می شوند.

    require_once('config.php');

    $FullName_Array = Get_FullName_From_MembersTable();

    for($i=0; $i<=count($FullName_Array); $i++)
    {
    echo $FullName_Array[$i]['name_lastname'] .'<br>';
    }


    //----->
    function Get_FullName_From_MembersTable()
    {
    $Conn = db_connect();

    $Query = "select * from members";
    $Result = $Conn->query($Query);
    if (!$Result)
    return false;

    if ($Result->num_rows>0)
    {
    $Num_Results = $Result->num_rows;
    for ($i = 0; $i < $Num_Results; $i++)
    {
    $Temp_Array[$i] = $Result->fetch_assoc();
    }

    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    else
    {
    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    }

    ممنون میشم اگه راهنمایی کنید.
    با تقدیم احترام
    صداقت
    آخرین ویرایش به وسیله Ali_Sedaghat : دوشنبه 25 فروردین 1393 در 10:25 صبح

  2. #2

    نقل قول: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    به تاپیک پرسشهای تکراری مراجعه کنید.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    نهاوند (استان همدان)
    پست
    98

    نقل قول: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    من کد کامل رو در این جا می گذارم.
    شاید در کدهای من اشکالی وجود داشته باشه که من ازش سر در نمیارم.
    تعداد فایل های من شامل 3 فایل است.
    فایل اول: ارتباط با دیتابیس به نام config.php

    <?php

    function db_connect()
    {
    $Msg_Not_Connect = 'ارتباط با بانک اطلاعاتي برقرار نشد.';
    $Sql_Hostname = 'localhost';
    $DB_Username = 'root';
    $DB_Password = '';
    $DB_Name = 'books';

    $Result = new mysqli($Sql_Hostname, $DB_Username, $DB_Password, $DB_Name);
    if (!$Result)
    {
    throw new Exception($Msg_Not_Connect);
    }
    else
    {
    return $Result;
    }
    }

    ?>

    فایل دوم: توابع مورد نیاز به نام function.php

    <?php
    require_once('config.php');

    //----->
    function Main_Page()
    {
    ?>
    <form method="POST" action="index.php">
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" dir="rtl">
    <tr>
    <td width="40%" dir="rtl">
    <p dir="rtl" align="center">شماره کتاب:
    <input type="text" name="txt_book_id" dir="rtl" size="5" /></p>
    <p dir="rtl" align="center">
    <input type="submit" value="ارسال" name="sub_book_id"></p>
    </td>
    <td width="73%" dir="rtl">
    &nbsp;</td>
    </tr>
    </table>
    </form>
    <?php
    }

    //----->
    function Book_Details($Book_ID)
    {
    $BookName_Array = Get_BookName_From_BooksTable($Book_ID);
    $User_ID = $BookName_Array[0]['user_id'];
    $FullName_Array = Get_FullName_From_MembersTable($User_ID);

    ?>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" dir="rtl">
    <tr>
    <td width="40%" dir="rtl">
    <p dir="rtl">نام کتاب: <?php echo $BookName_Array[0]['book_name'];?></p>
    </td>
    <td width="60%" dir="rtl">
    <p dir="rtl">نام تحويل گيرنده: <?php echo $FullName_Array[0]['name_lastname'];?> فرم
    <p dir="rtl">تاريخ دريافت کتاب: <?php echo $BookName_Array[0]['receive_date'];?> فرم
    </td>
    </tr>
    </table>
    <?php
    }

    //---->
    function Get_BookName_From_BooksTable($Book_ID)
    {
    $Conn = db_connect();
    mysql_query('SET NAMES \'utf8\'');
    mysql_set_charset('utf8');

    $Query = "select * from books where book_id='$Book_ID'";
    $Result = $Conn->query($Query);
    if (!$Result)
    return false;

    if ($Result->num_rows>0)
    {
    $Num_Results = $Result->num_rows;
    for ($i = 0; $i < $Num_Results; $i++)
    {
    $Temp_Array[$i] = $Result->fetch_assoc();
    }

    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    else
    {
    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    }

    //---->
    function Get_FullName_From_MembersTable($User_ID)
    {
    $Conn = db_connect();
    mysql_query('SET NAMES \'utf8\'');
    mysql_set_charset('utf8');

    $Query = "select * from members where member_id='$User_ID'";
    $Result = $Conn->query($Query);
    if (!$Result)
    return false;

    if ($Result->num_rows>0)
    {
    $Num_Results = $Result->num_rows;
    for ($i = 0; $i < $Num_Results; $i++)
    {
    $Temp_Array[$i] = $Result->fetch_assoc();
    }

    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    else
    {
    /* $Result->free();
    $Conn->close(); */
    return $Temp_Array;
    }
    }

    ?>

    فایل سوم: فایل اصلی یا ایندکس اصلی به نام index.php

    <html>
    <head>
    <meta http-equiv="Content-Language" content="fa">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>اطلاعات کتاب</title>
    </head>
    <body style="font-family: Tahoma; font-size: 10pt">

    <?php

    require_once('function.php');

    $Book_ID = $_POST['txt_book_id'];

    if ($Book_ID != '' && $Book_ID > 0)
    {
    Book_Details($Book_ID);
    exit;
    }
    else
    {
    Main_Page();
    exit;
    }

    ?>

    </body>
    </html>

    امیدوارم کسی بتونه راهنمایی کنه.
    با تقدیم احترام
    صداقت

  4. #4
    کاربر دائمی آواتار id1385
    تاریخ عضویت
    آبان 1387
    محل زندگی
    توی رویاهام!!
    پست
    467

    نقل قول: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    با سلام
    اول از همه شما باید فایل خود را با انکودینگ encoding utf-8 without bom ذخیره نمایید.
    در هدر خود حتماً خروجی را utf-8 بگیرید
    کد HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    و اگر html5 بود به اینصورت
    کد HTML:
    <meta charset="utf-8" />
    در قسمت پایگاه داده هم حتماً باید جدول خود را قسمت Collation را به صورت utf8_general_ci و یا utf8_persian_ci قراردهید.



  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    نهاوند (استان همدان)
    پست
    98

    نقل قول: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    نقل قول نوشته شده توسط id1385 مشاهده تاپیک
    با سلام
    اول از همه شما باید فایل خود را با انکودینگ encoding utf-8 without bom ذخیره نمایید.
    در هدر خود حتماً خروجی را utf-8 بگیرید
    کد HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    و اگر html5 بود به اینصورت
    کد HTML:
    <meta charset="utf-8" />
    در قسمت پایگاه داده هم حتماً باید جدول خود را قسمت Collation را به صورت utf8_general_ci و یا utf8_persian_ci قراردهید.


    ممنون از پاسخ تون.
    من دیتابیس رو چک کردم. دو جدولی که ازش استفاده می کنم به این صورت هست: utf8_persian_ci
    بعد هم اون متا تگ هاتون رو هم در فایل اصلیم قرار دادم. باز هم همون مشکل هست. یعنی به جای نام کتاب و نام تحویل گیرنده چند تا علامت سوال میاد.

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    نهاوند (استان همدان)
    پست
    98

    نقل قول: مشکل در نمایش علامت سوال (؟) به جای کلمات فارسی در هنگام استخراج از دیتابیس

    سلام
    مشکلم حل شد.
    من باید کد زیر رو بعد از ارتباط با دیتابیس قرار می دادم.

    $Conn = db_connect();
    $Conn->query("set names utf8");

    با تشکر از کاربر گرامی tanha921 از تاپیکی که ایجاد کرده بودند.

    https://barnamenevis.org/showthread.php?443672

    و با تشکر از تمام دوستانی که زحمت خواندن تاپیک من رو کشیده و به اون جواب دادند.

تاپیک های مشابه

  1. نمایش علامت سوال به جای حروف فارسی در آندروید
    نوشته شده توسط nader14y در بخش Android Studio
    پاسخ: 7
    آخرین پست: چهارشنبه 04 اسفند 1395, 12:07 عصر
  2. سوال: نمایش علامت سوال بجای ورودی فارسی
    نوشته شده توسط nimooo در بخش PHP
    پاسخ: 3
    آخرین پست: چهارشنبه 07 تیر 1391, 20:41 عصر
  3. مشکل نمایش علامت سوال در کریستال
    نوشته شده توسط amjtia در بخش C#‎‎
    پاسخ: 0
    آخرین پست: چهارشنبه 18 آبان 1390, 09:27 صبح
  4. سوال: نمایش علامت سوال بعد از ثبت
    نوشته شده توسط gharibeh223 در بخش Classic ASP
    پاسخ: 1
    آخرین پست: جمعه 02 اسفند 1387, 09:31 صبح
  5. نمایش علامت سوال به جای کلماتی که از بانک خوانده می شود
    نوشته شده توسط mahnaz_apollo در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: پنج شنبه 06 تیر 1387, 13:32 عصر

قوانین ایجاد تاپیک در تالار

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