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

نام تاپیک: تابع iconv

  1. #1

    تابع iconv

    سلام
    در زمان ذخیره اطلاعات در sql server از تابع iconv برای تمامی متغیرها استفاده می کنم . در اولین بار که برنامه اجرا میشه هیچ مشکلی وجود نداره و برای بار دوم به بعد یک خطا صادر میشه و تابع فوق عمل نمی کنه و به جای داده ها null قرار می گیره .

    لطفا راهنمائی کنید


    $name=$_POST['name'];
    $name=iconv("UTF-8", "windows-1256", $name);
    //
    $family=$_POST['family'];
    $family=iconv("UTF-8", "windows-1256", $family);
    Untitled.jpg

  2. #2
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: تابع iconv

    حالا جدا از این بحث که تا کد کاملتری نگذارین نمیشه نظر داد ، برام خیلی عجیبه که یونیکد را به 1265 عربی تبدیل میکنید !؟ چرا !؟

  3. #3

    نقل قول: تابع iconv

    برای ذخیره در sqlserver
    با unf8 که در sql server ذخیره میکنم کارکترهای فارسی به صورت حروف ناخوانا در sql server نمایش داده میشه . به 1265 که تبدیل میکنم در Sql server کارکترهای فارسی درست نمایش داده میشه و در زمان فراخوانی از sql و نمایش در صفحات مجددا از 1265 به یونیکد تبدیل میکنم
    آخرین ویرایش به وسیله rash44 : سه شنبه 24 شهریور 1394 در 07:19 صبح

  4. #4
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: تابع iconv

    با unf8 که در sql server ذخیره میکنم کارکترهای فارسی به صورت حروف ناخوانا در sql server نمایش داده میشه
    نوع داده را nvarchar بگذار و در زمان insert اینجوری عمل کن :
    insert into table(fld_name,fld_family) values(N'علی',N'دایی');


    از encoding های غیر یونیکد کلا دوری کنید که فقط موجبات دردسر هستند و بس !

  5. #5

    نقل قول: تابع iconv

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    نوع داده را nvarchar بگذار و در زمان insert اینجوری عمل کن :
    insert into table(fld_name,fld_family) values(N'علی',N'دایی');


    از encoding های غیر یونیکد کلا دوری کنید که فقط موجبات دردسر هستند و بس !
    کارکتر N در PDO به چه صورت استفاده میشه ؟

    $sql="INSERT INTO info (name,family) VALUES (:name,:family)";
    $result=$pdo->prepare($sql);
    $result->execute(array(
    ":name"=>$name,
    ":family"=>$family
    ));

  6. #6
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: تابع iconv

    با چه درایوری به MSSQL وصل میشی ؟ خیلی فرق میکنه. بد نیست این پست من را هم بخونی.
    برای ذخیره فارسی باید نوع داده را nvarchar قرار بدین ، MSSQL از UTF-16LE برای nvarchar استفاده میکنه و وقتی data را ذخیره میکنید توی mssql چرت و پرت نشون میده اما اگه همون را با php و pdo بخونید و نمایش بدین درست انجام میشه. یا هر query بنویسین و از fieldname: به صورت پارامتری استفاده کنید درست انجام مبشه و برای مستقیم هم که گفتم باید N بگذارین قبلش.

    تنها مشکلی که پیش میاد اینه که اگه کسی با database شما بخواد با غیر از php کار کنه به مشکل میخوره و باید خودش تبدیل را انجام بده.
    من با تمام این مسخره بازی های MSSQL سر و کله زدم و کلا هیچ علاقه ای بهش ندارم. مایکروسافت عموما کاری به استاندارد ها نداره و این مشکلات پیش میاد. بهتره از mysql یا mariadb استفاده کنید.

    موفق باشی

  7. #7

    نقل قول: تابع iconv

    نقل قول نوشته شده توسط rash44 مشاهده تاپیک
    سلام
    در زمان ذخیره اطلاعات در sql server از تابع iconv برای تمامی متغیرها استفاده می کنم . در اولین بار که برنامه اجرا میشه هیچ مشکلی وجود نداره و برای بار دوم به بعد یک خطا صادر میشه و تابع فوق عمل نمی کنه و به جای داده ها null قرار می گیره .

    لطفا راهنمائی کنید


    $name=$_POST['name'];
    $name=iconv("UTF-8", "windows-1256", $name);
    //
    $family=$_POST['family'];
    $family=iconv("UTF-8", "windows-1256", $family);
    Untitled.jpg
    سلام اخوی،

    متاسفانه cp1256 کاراکتر "ی" فارسی را شامل نمی شه از اون ی های عربی که دو نقطه
    IGNORE رو که اضافه کردم باعث نادیده گرفت illegal characters می شه. اما !! باعث مثلاً اگه نوشتن "حسینی" تو این حالت تبدیل می شه به "حسین" یه هک کوچیکی اضافه کردم این حداقل کارتو راه بندازه
    [PHP]
    $path = str_ireplace('ی','ي',$name);
    $path = iconv('UTF-8', "windows-1256//IGNORE", $name);

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

  1. تابع iconv
    نوشته شده توسط rash44 در بخش PHP
    پاسخ: 4
    آخرین پست: پنج شنبه 02 آذر 1391, 21:35 عصر
  2. چگونگی تعریف تابع با دو خروجی ؟؟
    نوشته شده توسط m_reza در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: سه شنبه 10 تیر 1382, 16:24 عصر
  3. چگونه با اکتیوکسها مانند یک تابع رفتار کنم؟
    نوشته شده توسط توسلی در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 4
    آخرین پست: دوشنبه 01 اردیبهشت 1382, 17:05 عصر
  4. تابع انتخاب تصادفی یک فیلد از بین رکوردهای بانک اطلاعاتی
    نوشته شده توسط hesam_din در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: جمعه 23 اسفند 1381, 04:51 صبح
  5. برای برنامه هاتون تابع تعریف کنید
    نوشته شده توسط (امید) در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: پنج شنبه 22 اسفند 1381, 00:21 صبح

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

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