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

نام تاپیک: ذخیره کاراکتر فارسی در بانک mysql

  1. #1

    ذخیره کاراکتر فارسی در بانک mysql

    سلام
    به یه مشکل عجیب برخوردم
    یه بانک دارم که داخلش 3- 4 تا جدول داره و این مشکل فقط برای یکی از جدولا به وجود آمده !
    این جدول اسمش buy هست و اگر اطلاعاتی که از داخل برنامه داخلش ذخیره میشه فارسی باشه کلا encodingش میریزه بهم .( فقط همین یه جدول بانکم .
    تنظیمات هم تا اونجایی که میدونم درسته !
    یکبارم کلا جدول رو پاک کردم و دوباره ساختم ولی بازم درست نشد .
    شما میدونید مشکل از کجاست؟؟؟
    2.PNG1.PNG

  2. #2
    کاربر دائمی آواتار Mahdi.Spirit
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    گيلان
    پست
    123

    نقل قول: ذخیره کاراکتر فارسی در بانک mysql

    سلام
    شما اون نوشته هاي فارسي رو مستقيم توي بانك مينويسين يا از توي برنامه تون؟ اگه مستقيم مينويسين و مشكلي نداره پس با encoding اون صفحه ارسال اطلاعات مشكل داره
    collation بانك رو روي utf8_bin بزارين ببينين چطوره؟

  3. #3

    نقل قول: ذخیره کاراکتر فارسی در بانک mysql

    سلام
    ببینید این مشخصات تو کد هام هست :
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    ...........

    و اینم مثلا :
        <form id="buy" name="buyForm" action="coderahgiri.php" method="post">
    <table>
    <tr>
    <td width="180"><label>*کدکالا</label></td>
    <td><input type="text" name="productCode" id="productCode" onblur="getInfoProduct($productCode);"></td>
    </tr>
    <tr>
    <td width="180"><label>نام کالا</label></td>
    <td><input type="text" name="productName" id="productName" readonly="readonly" value=""></td>
    </tr>
    ...........
    و این هم :
    <?php 
    if(isset($_POST["nameFamily"]))
    {
    $nameFamily = $_POST["nameFamily"];
    $state = $_POST["state"];
    $city = $_POST["city"];
    $tell = $_POST["tell"];
    $email = $_POST["email"];
    $addres = $_POST["addres"];
    $payment = $_POST["payment"];
    $ServerName = "localhost";
    $DBName = "store";
    $user = "root";
    $pass = "";
    $link = mysql_connect($ServerName,$user,$pass);
    mysql_select_db($DBName,$link);
    $sql = "INSERT INTO buy (nameFamily, state, city, tell, email, addres, payment) VALUES ('$nameFamily','$state','$city','$tell','$email',' $addres','$payment')";
    $result = mysql_query($sql,$link);

    }
    ?>


    از داخل خود mysql هم که insert کردم مشکلی نبود و درست ثبت شد .
    حالا چکار کنم؟ مشکل از کد هاست؟

  4. #4

    نقل قول: ذخیره کاراکتر فارسی در بانک mysql

    سلام

    این دستور رو بعد از اتصال به بانک قرار بده:


    mysql_query("SET NAMES 'utf8'", $link);


    $link نام cannection به mysql هستش

    موفق باشید

  5. #5

    نقل قول: ذخیره کاراکتر فارسی در بانک mysql

    بغیر از روشهایی که دوستان گفتن باید توجه کنید که توابعی مثلhtmlentities رو بصورت زیر فراخوانی کنید. یعنی UTF-8 رو هم توی تابع قرار بدید.

    htmlentities($str, ENT_QUOTES,'UTF-8');


    من همیشه قبل از ارسال کوری کد زیر رو استفاده می کنم و با مشکل مواجه نمی شم.
    mysqli_set_charset($link, "utf8")

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

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