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

نام تاپیک: مشکل با فونت فارسی در اتصال به SQL server از طریق php

  1. #1
    کاربر تازه وارد آواتار MohammadReza.OmidAllah
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    ایران - کاشان
    پست
    44

    مشکل با فونت فارسی در اتصال به SQL server از طریق php

    سلام دوستان

    من میخوام از یه سرور به یه پایگاه داده توی سرور دیگه وصل بشم و باهاش کار کنم (sql server) با دستور زیر این کارو کردم ولی فیلدایی که محتوای فارسی دارنو به صورت یه مربع مشکی که توش علامت ؟ هست نشون میده متا تگ utf8 این کارارم کردم ولی باز همین مشکل رو دارم .




    <?php

    $conn = mssql_connect( 'SERVER', 'sa','560');

    if( $conn ) {
    echo "Connection established.";
    $dbn="SodoorFactor91";
    mssql_select_db($dbn)or die("not etesal");
    $search=mssql_query("SELECT * FROM Moshtari");
    while($halghe=mssql_fetch_array($search)){

    $name=($halghe["Name"]);

    print("<br/>");
    echo($name);

    }

    }else{

    }
    ?>


    اگه لطف کنید کمک کنید ممنون میشم البته شنیدم کتابخانه های PDO این مشکل رو ندارن ولی نتونستم استفاده کنم و php.ini رو تنظیم کنم

    مهم نیست برام با این دسور باشه یا دستورای دیگه فقط باید از یه سرور به یه سرور دیگه وصل بشم به پایگاه داده ی sql server

    پیشاپیش از کمکتون ممنونم

  2. #2

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    پیشنهاد می کنم از PDO استفاده کنید

  3. #3
    کاربر تازه وارد آواتار MohammadReza.OmidAllah
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    ایران - کاشان
    پست
    44

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    نقل قول نوشته شده توسط Mr.Keramati مشاهده تاپیک
    پیشنهاد می کنم از PDO استفاده کنید

    ممنون جناب كرامتي با PDO هم متصل كه ميشم همون مشكل وجود داره فيلد هاي فارسيم به صورت زير چاپ ميشه

    [Name] => ���� ���� ���� �����



    شايد ايراد از پايگاه داده ام باشه ولي من نميدونم چطور بايد تنظيم كنم پايگاه داده رو براي اين كار اخه برنامه تحت ويندوزي كه داره با اين جداول كار ميكنم هيچ مشكل فارسي نويسي نداره

    اين هم سورسي كه با كلاس pdo استفاده كردم






    <?php
    try {
    $hostname = "SERVER"; //host
    $dbname = "SodoorFactor91"; //db name
    $username = "sa"; // username like 'sa'
    $pw = "560"; // password for the user

    $dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username" ,"$pw");
    if($dbh){echo "ok";}
    } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
    }
    $stmt = $dbh->prepare("SELECT * FROM Moshtari");
    $stmt->execute();
    while ($row = $stmt->fetch()) {
    print_r($row);
    }
    unset($dbh); unset($stmt);
    ?>

    آخرین ویرایش به وسیله MohammadReza.OmidAllah : سه شنبه 07 آذر 1391 در 19:12 عصر دلیل: توضيحات بيشتر

  4. #4

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    شما از توابع زیر استفاده کنید٬ از اسم توابع مشخصه هر کدوم به چه کاری میاد
    function persian_sql_to_php($str){
    if(mb_detect_encoding($str) == 'UTF-8' AND mb_check_encoding($str, 'UTF-8')){
    $str = utf8_decode($str);
    }
    $str = iconv('Windows-1256', 'UTF-8', $str);
    return $str;
    }

    function persian_php_to_sql($str){
    $str = iconv('UTF-8', 'Windows-1256', $str);
    return $str;
    }

  5. #5
    کاربر تازه وارد آواتار MohammadReza.OmidAllah
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    ایران - کاشان
    پست
    44

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    نقل قول نوشته شده توسط fcsooti مشاهده تاپیک
    شما از توابع زیر استفاده کنید٬ از اسم توابع مشخصه هر کدوم به چه کاری میاد
    function persian_sql_to_php($str){
    if(mb_detect_encoding($str) == 'UTF-8' AND mb_check_encoding($str, 'UTF-8')){
    $str = utf8_decode($str);
    }
    $str = iconv('Windows-1256', 'UTF-8', $str);
    return $str;
    }

    function persian_php_to_sql($str){
    $str = iconv('UTF-8', 'Windows-1256', $str);
    return $str;
    }

    میشه لطف کنید بگین چطوری از توابع بالا استفاده کنم ؟ به $str چی باید پاس کنم ؟

  6. #6

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    هر مقداری رو که می‌خواهید echo کنید از persian_sql_to_php رد کنید و هر چی رو که می‌خواهید به sql بفرستید از persian_php_to_sql رد کنید.
    فرضا اینطوری
    $row['name'] = persian_sql_to_php($row['name']);

  7. #7

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    با سلام
    ببخشید که دوباره تاپیک را بالا اوردم.
    من هم از odbc استفاده کردم و وقتی کواری اجرا میکردم حروف فارسی به صورت علامت سوال (؟) بود اما این تابعی که دوستمون fcsooti زحمت کشیدند گذاشتند مشکل رو حل کرد اما فقط روی لوکال. البته دیتابیس روی هاسته ولی فایلم را با ومپ که باز میکنم حروف فارسی درسته ولی وقتی همین فایل را اپلود میکنم روی هاست حروف را علامت سوال نشان میدهد!
    نمیدانم چه تفاوتی بین لوکال و هاست باعث این مشکل میشه!
    ممنون میشم از راهنمایی دوستان

  8. #8

    نقل قول: مشکل با فونت فارسی در اتصال به SQL server از طریق php

    باسلام
    مشکلم حل شد.
    هاست ما روی سرور مجازی خودمون بود و locale سرور روی persian تنظیم نشده بود. به محض اینکه control panel -> regional and language -> administrative -> change system locale تنظیم شد تمام علامت سوال ها درست شد.
    البته فکر میکنم با تابع setlocale هم میشد تنظیمش کرد، البته من نتونستم از این تابع جواب بگیرم.

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

  1. سوال: مشکل با connection string در اتصال به sql server 2008 Express Edition
    نوشته شده توسط maysam.m در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 13
    آخرین پست: یک شنبه 11 فروردین 1392, 00:17 صبح
  2. اتصال به sql server از طریق خط تلفن
    نوشته شده توسط rahmanzadeh در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 15 شهریور 1388, 08:45 صبح
  3. مشکل احراز هویت در هنگام اتصال به SQL Server
    نوشته شده توسط Mbr در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 16
    آخرین پست: پنج شنبه 03 آذر 1384, 13:32 عصر
  4. یک مشکل در اتصال به SQL SERVER 2000
    نوشته شده توسط mo_jahan در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: یک شنبه 21 دی 1382, 23:16 عصر
  5. مشکل با فونت فارسی در ویندوز 2000
    نوشته شده توسط Andy در بخش Foxpro
    پاسخ: 3
    آخرین پست: دوشنبه 26 آبان 1382, 13:11 عصر

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

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