سلام ، آیا این بازدید اول شماست ؟ یا
نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: مبدل دیتابیس

  1. #1

    تاریخ عضویت
    Feb 2006
    نوشته ها
    26
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    مبدل دیتابیس

    یه مبدل برای تبدیل دیتابیس یک کامپوننت به زبان عربی(windows-1256) به utf_8 لازم داشتم. از دوستان کسی سراغ داره؟

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


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

  3. #2
    Admin
    تاریخ عضویت
    Dec 2005
    محل سکونت
    U.A.E
    نوشته ها
    13,222
    تشکر
    318
    تشکر شده 1,338 بار در 652 ارسال

    Re: مبدل دیتابیس

    کد:
    <?php
    
    function convert_w1256_to_utf_8($text) {
      
      $converted_text=preg_replace_callback("/(:\&\#([0-9]{1,4})\;|([\x80-\xFF]))/\",\"replace_content\",$text);
      
      return $converted_text;
    }
    
    
    function replace_content($matches_content) {
    
    //windows-1256 character set
    
    $windows1256 = array(
    '€',  # 0x20AC EURO SIGN
    'پ',  # 0x067E ARABIC LETTER PEH
    '‚',  # 0x201A SINGLE LOW-9 QUOTATION MARK
    'ƒ',  # 0x0192 LATIN SMALL LETTER F WITH HOOK
    '„',  # 0x201E DOUBLE LOW-9 QUOTATION MARK
    '…',  # 0x2026 HORIZONTAL ELLIPSIS
    '',  # 0x2020 DAGGER
    '‡',  # 0x2021 DOUBLE DAGGER
    'ˆ',  # 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
    '‰',  # 0x2030 PER MILLE SIGN
    'ٹ',  # 0x0679 ARABIC LETTER TTEH
    '‹',  # 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    'Œ',  # 0x0152 LATIN CAPITAL LIGATURE OE
    'چ',  # 0x0686 ARABIC LETTER TCHEH
    'ژ',  # 0x0698 ARABIC LETTER JEH
    'ڈ',  # 0x0688 ARABIC LETTER DDAL
    'گ',  # 0x06AF ARABIC LETTER GAF
    '‘',  # 0x2018 LEFT SINGLE QUOTATION MARK
    '’',  # 0x2019 RIGHT SINGLE QUOTATION MARK
    '“',  # 0x201C LEFT DOUBLE QUOTATION MARK
    '”',  # 0x201D RIGHT DOUBLE QUOTATION MARK
    '•',  # 0x2022 BULLET
    '–',  # 0x2013 EN DASH
    '—',  # 0x2014 EM DASH
    'ک',  # 0x06A9 ARABIC LETTER KEHEH
    '™',  # 0x2122 TRADE MARK SIGN
    'ڑ',  # 0x0691 ARABIC LETTER RREH
    '›',  # 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    'œ',  # 0x0153 LATIN SMALL LIGATURE OE
    '‌',  # 0x200C ZERO WIDTH NON-JOINER
    '‍',  # 0x200D ZERO WIDTH JOINER
    'ں',  # 0x06BA ARABIC LETTER NOON GHUNNA
    ' ',  # 0x00A0 NO-BREAK SPACE
    '،',  # 0x060C ARABIC COMMA
    '¢',  # 0x00A2 CENT SIGN
    '£',  # 0x00A3 POUND SIGN
    '¤',  # 0x00A4 CURRENCY SIGN
    '¥',  # 0x00A5 YEN SIGN
    '¦',  # 0x00A6 BROKEN BAR
    '§',  # 0x00A7 SECTION SIGN
    '¨',  # 0x00A8 DIAERESIS
    '©',  # 0x00A9 COPYRIGHT SIGN
    'ھ',  # 0x06BE ARABIC LETTER HEH DOACHASHMEE
    '«',  # 0x00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    '¬',  # 0x00AC NOT SIGN
    '­',  # 0x00AD SOFT HYPHEN
    '®',  # 0x00AE REGISTERED SIGN
    '¯',  # 0x00AF MACRON
    '°',  # 0x00B0 DEGREE SIGN
    '±',  # 0x00B1 PLUS-MINUS SIGN
    '²',  # 0x00B2 SUPERSCRIPT TWO
    '³',  # 0x00B3 SUPERSCRIPT THREE
    '´',  # 0x00B4 ACUTE ACCENT
    'µ',  # 0x00B5 MICRO SIGN
    '¶',  # 0x00B6 PILCROW SIGN
    '·',  # 0x00B7 MIDDLE DOT
    '¸',  # 0x00B8 CEDILLA
    '¹',  # 0x00B9 SUPERSCRIPT ONE
    '؛',  # 0x061B ARABIC SEMICOLON
    '»',  # 0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    '¼',  # 0x00BC VULGAR FRACTION ONE QUARTER
    '½',  # 0x00BD VULGAR FRACTION ONE HALF
    '¾',  # 0x00BE VULGAR FRACTION THREE QUARTERS
    '؟',  # 0x061F ARABIC QUESTION MARK
    'ہ',  # 0x06C1 ARABIC LETTER HEH GOAL
    'ء',  # 0x0621 ARABIC LETTER HAMZA
    'آ',  # 0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
    'أ',  # 0x0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
    'ؤ',  # 0x0624 ARABIC LETTER WAW WITH HAMZA ABOVE
    'إ',  # 0x0625 ARABIC LETTER ALEF WITH HAMZA BELOW
    'ئ',  # 0x0626 ARABIC LETTER YEH WITH HAMZA ABOVE
    'ا',  # 0x0627 ARABIC LETTER ALEF
    'ب',  # 0x0628 ARABIC LETTER BEH
    'ة',  # 0x0629 ARABIC LETTER TEH MARBUTA
    'ت',  # 0x062A ARABIC LETTER TEH
    'ث',  # 0x062B ARABIC LETTER THEH
    'ج',  # 0x062C ARABIC LETTER JEEM
    'ح',  # 0x062D ARABIC LETTER HAH
    'خ',  # 0x062E ARABIC LETTER KHAH
    'د',  # 0x062F ARABIC LETTER DAL
    'ذ',  # 0x0630 ARABIC LETTER THAL
    'ر',  # 0x0631 ARABIC LETTER REH
    'ز',  # 0x0632 ARABIC LETTER ZAIN
    'س',  # 0x0633 ARABIC LETTER SEEN
    'ش',  # 0x0634 ARABIC LETTER SHEEN
    'ص',  # 0x0635 ARABIC LETTER SAD
    'ض',  # 0x0636 ARABIC LETTER DAD
    '×',  # 0x00D7 MULTIPLICATION SIGN
    'ط',  # 0x0637 ARABIC LETTER TAH
    'ظ',  # 0x0638 ARABIC LETTER ZAH
    'ع',  # 0x0639 ARABIC LETTER AIN
    'غ',  # 0x063A ARABIC LETTER GHAIN
    'ـ',  # 0x0640 ARABIC TATWEEL
    'ف',  # 0x0641 ARABIC LETTER FEH
    'ق',  # 0x0642 ARABIC LETTER QAF
    'ك',  # 0x0643 ARABIC LETTER KAF
    '',  # 0x00E0 LATIN SMALL LETTER A WITH GRAVE
    'ل',  # 0x0644 ARABIC LETTER LAM
    'â',  # 0x00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
    'م',  # 0x0645 ARABIC LETTER MEEM
    'ن',  # 0x0646 ARABIC LETTER NOON
    'ه',  # 0x0647 ARABIC LETTER HEH
    'و',  # 0x0648 ARABIC LETTER WAW
    'ç',  # 0x00E7 LATIN SMALL LETTER C WITH CEDILLA
    'è',  # 0x00E8 LATIN SMALL LETTER E WITH GRAVE
    'é',  # 0x00E9 LATIN SMALL LETTER E WITH ACUTE
    'ê',  # 0x00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
    'ë',  # 0x00EB LATIN SMALL LETTER E WITH DIAERESIS
    'ى',  # 0x0649 ARABIC LETTER ALEF MAKSURA
    'ي',  # 0x064A ARABIC LETTER YEH
    'î',  # 0x00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
    'ï',  # 0x00EF LATIN SMALL LETTER I WITH DIAERESIS
    'ً',  # 0x064B ARABIC FATHATAN
    'ٌ',  # 0x064C ARABIC DAMMATAN
    'ٍ',  # 0x064D ARABIC KASRATAN
    'َ',  # 0x064E ARABIC FATHA
    'ô',  # 0x00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
    'ُ',  # 0x064F ARABIC DAMMA
    'ِ',  # 0x0650 ARABIC KASRA
    '÷',  # 0x00F7 DIVISION SIGN
    'ّ',  # 0x0651 ARABIC SHADDA
    'ù',  # 0x00F9 LATIN SMALL LETTER U WITH GRAVE
    'ْ',  # 0x0652 ARABIC SUKUN
    'û',  # 0x00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
    'ü',  # 0x00FC LATIN SMALL LETTER U WITH DIAERESIS
    '‎',  # 0x200E LEFT-TO-RIGHT MARK
    '‏',  # 0x200F RIGHT-TO-LEFT MARK
    'ے',  # 0x06D2 ARABIC LETTER YEH BARREE
    ); #windows1256
    
    
      return $windows1256[ord($matches_content[1])-0x80];
      
    }
    ?>

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


  4. #3

    تاریخ عضویت
    Feb 2006
    نوشته ها
    26
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    Re: مبدل دیتابیس

    باید آپلودش کنیم؟ اما جواب نداد لطفا یه توضیح مختصری هم عنایت بکنید

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


  5. #4
    Admin
    تاریخ عضویت
    Dec 2005
    محل سکونت
    U.A.E
    نوشته ها
    13,222
    تشکر
    318
    تشکر شده 1,338 بار در 652 ارسال

    Re: مبدل دیتابیس

    کافیست یا این کد رو در برنامه پیاده کنید یا اینکه در یک فایل جدا قرار دهید و بعد در برنامه اصلی آنرا Require کنید

    یه مثال :

    کد:
    <?php
    // windows-1256 to utf8 convertor 0.1
    error_reporting(E_ALL);
    function convert_w1256_to_utf_8($text) {
      
      $converted_text=preg_replace_callback("/(:\&\#([0-9]{1,4})\;|([\x80-\xFF]))/","replace_content",$text);
      
      return $converted_text;
    }
    
    
    function replace_content($matches_content) {
    
    //windows-1256 character set
    
    $windows1256 = array(
     '€',	# 0x20AC EURO SIGN
     'پ',	# 0x067E ARABIC LETTER PEH
     '‚',	# 0x201A SINGLE LOW-9 QUOTATION MARK
     'ƒ',	# 0x0192 LATIN SMALL LETTER F WITH HOOK
     '„',	# 0x201E DOUBLE LOW-9 QUOTATION MARK
     '…',	# 0x2026 HORIZONTAL ELLIPSIS
     '',	# 0x2020 DAGGER
     '‡',	# 0x2021 DOUBLE DAGGER
     'ˆ',	# 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT
     '‰',	# 0x2030 PER MILLE SIGN
     'ٹ',	# 0x0679 ARABIC LETTER TTEH
     '‹',	# 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
     'Œ',	# 0x0152 LATIN CAPITAL LIGATURE OE
     'چ',	# 0x0686 ARABIC LETTER TCHEH
     'ژ',	# 0x0698 ARABIC LETTER JEH
     'ڈ',	# 0x0688 ARABIC LETTER DDAL
     'گ',	# 0x06AF ARABIC LETTER GAF
     '‘',	# 0x2018 LEFT SINGLE QUOTATION MARK
     '’',	# 0x2019 RIGHT SINGLE QUOTATION MARK
     '“',	# 0x201C LEFT DOUBLE QUOTATION MARK
     '”',	# 0x201D RIGHT DOUBLE QUOTATION MARK
     '•',	# 0x2022 BULLET
     '–',	# 0x2013 EN DASH
     '—',	# 0x2014 EM DASH
     'ک',	# 0x06A9 ARABIC LETTER KEHEH
     '™',	# 0x2122 TRADE MARK SIGN
     'ڑ',	# 0x0691 ARABIC LETTER RREH
     '›',	# 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
     'œ',	# 0x0153 LATIN SMALL LIGATURE OE
     '‌',	# 0x200C ZERO WIDTH NON-JOINER
     '‍',	# 0x200D ZERO WIDTH JOINER
     'ں',	# 0x06BA ARABIC LETTER NOON GHUNNA
     ' ',	# 0x00A0 NO-BREAK SPACE
     '،',	# 0x060C ARABIC COMMA
     '¢',	# 0x00A2 CENT SIGN
     '£',	# 0x00A3 POUND SIGN
     '¤',	# 0x00A4 CURRENCY SIGN
     '¥',	# 0x00A5 YEN SIGN
     '¦',	# 0x00A6 BROKEN BAR
     '§',	# 0x00A7 SECTION SIGN
     '¨',	# 0x00A8 DIAERESIS
     '©',	# 0x00A9 COPYRIGHT SIGN
     'ھ',	# 0x06BE ARABIC LETTER HEH DOACHASHMEE
     '«',	# 0x00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
     '¬',	# 0x00AC NOT SIGN
     '­',	# 0x00AD SOFT HYPHEN
     '®',	# 0x00AE REGISTERED SIGN
     '¯',	# 0x00AF MACRON
     '°',	# 0x00B0 DEGREE SIGN
     '±',	# 0x00B1 PLUS-MINUS SIGN
     '²',	# 0x00B2 SUPERSCRIPT TWO
     '³',	# 0x00B3 SUPERSCRIPT THREE
     '´',	# 0x00B4 ACUTE ACCENT
     'µ',	# 0x00B5 MICRO SIGN
     '¶',	# 0x00B6 PILCROW SIGN
     '·',	# 0x00B7 MIDDLE DOT
     '¸',	# 0x00B8 CEDILLA
     '¹',	# 0x00B9 SUPERSCRIPT ONE
     '؛',	# 0x061B ARABIC SEMICOLON
     '»',	# 0x00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
     '¼',	# 0x00BC VULGAR FRACTION ONE QUARTER
     '½',	# 0x00BD VULGAR FRACTION ONE HALF
     '¾',	# 0x00BE VULGAR FRACTION THREE QUARTERS
     '؟',	# 0x061F ARABIC QUESTION MARK
     'ہ',	# 0x06C1 ARABIC LETTER HEH GOAL
     'ء',	# 0x0621 ARABIC LETTER HAMZA
     'آ',	# 0x0622 ARABIC LETTER ALEF WITH MADDA ABOVE
     'أ',	# 0x0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
     'ؤ',	# 0x0624 ARABIC LETTER WAW WITH HAMZA ABOVE
     'إ',	# 0x0625 ARABIC LETTER ALEF WITH HAMZA BELOW
     'ئ',	# 0x0626 ARABIC LETTER YEH WITH HAMZA ABOVE
     'ا',	# 0x0627 ARABIC LETTER ALEF
     'ب',	# 0x0628 ARABIC LETTER BEH
     'ة',	# 0x0629 ARABIC LETTER TEH MARBUTA
     'ت',	# 0x062A ARABIC LETTER TEH
     'ث',	# 0x062B ARABIC LETTER THEH
     'ج',	# 0x062C ARABIC LETTER JEEM
     'ح',	# 0x062D ARABIC LETTER HAH
     'خ',	# 0x062E ARABIC LETTER KHAH
     'د',	# 0x062F ARABIC LETTER DAL
     'ذ',	# 0x0630 ARABIC LETTER THAL
     'ر',	# 0x0631 ARABIC LETTER REH
     'ز',	# 0x0632 ARABIC LETTER ZAIN
     'س',	# 0x0633 ARABIC LETTER SEEN
     'ش',	# 0x0634 ARABIC LETTER SHEEN
     'ص',	# 0x0635 ARABIC LETTER SAD
     'ض',	# 0x0636 ARABIC LETTER DAD
     '×',	# 0x00D7 MULTIPLICATION SIGN
     'ط',	# 0x0637 ARABIC LETTER TAH
     'ظ',	# 0x0638 ARABIC LETTER ZAH
     'ع',	# 0x0639 ARABIC LETTER AIN
     'غ',	# 0x063A ARABIC LETTER GHAIN
     'ـ',	# 0x0640 ARABIC TATWEEL
     'ف',	# 0x0641 ARABIC LETTER FEH
     'ق',	# 0x0642 ARABIC LETTER QAF
     'ك',	# 0x0643 ARABIC LETTER KAF
     '',	# 0x00E0 LATIN SMALL LETTER A WITH GRAVE
     'ل',	# 0x0644 ARABIC LETTER LAM
     'â',	# 0x00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
     'م',	# 0x0645 ARABIC LETTER MEEM
     'ن',	# 0x0646 ARABIC LETTER NOON
     'ه',	# 0x0647 ARABIC LETTER HEH
     'و',	# 0x0648 ARABIC LETTER WAW
     'ç',	# 0x00E7 LATIN SMALL LETTER C WITH CEDILLA
     'è',	# 0x00E8 LATIN SMALL LETTER E WITH GRAVE
     'é',	# 0x00E9 LATIN SMALL LETTER E WITH ACUTE
     'ê',	# 0x00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
     'ë',	# 0x00EB LATIN SMALL LETTER E WITH DIAERESIS
     'ى',	# 0x0649 ARABIC LETTER ALEF MAKSURA
     'ي',	# 0x064A ARABIC LETTER YEH
     'î',	# 0x00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
     'ï',	# 0x00EF LATIN SMALL LETTER I WITH DIAERESIS
     'ً',	# 0x064B ARABIC FATHATAN
     'ٌ',	# 0x064C ARABIC DAMMATAN
     'ٍ',	# 0x064D ARABIC KASRATAN
     'َ',	# 0x064E ARABIC FATHA
     'ô',	# 0x00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
     'ُ',	# 0x064F ARABIC DAMMA
     'ِ',	# 0x0650 ARABIC KASRA
     '÷',	# 0x00F7 DIVISION SIGN
     'ّ',	# 0x0651 ARABIC SHADDA
     'ù',	# 0x00F9 LATIN SMALL LETTER U WITH GRAVE
     'ْ',	# 0x0652 ARABIC SUKUN
     'û',	# 0x00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
     'ü',	# 0x00FC LATIN SMALL LETTER U WITH DIAERESIS
     '‎',	# 0x200E LEFT-TO-RIGHT MARK
     '‏',	# 0x200F RIGHT-TO-LEFT MARK
     'ے',	# 0x06D2 ARABIC LETTER YEH BARREE
    ); #windows1256
    
    
      return $windows1256[ord($matches_content[1])-0x80];
      
    }
    
    
    
    function get_web_content($web_site_address) {
      $site_content=''; // to make notice happy
      $file_handle=fopen($web_site_address,"r");
      while ($line=fgets($file_handle,1000))
      {
        $site_content.=$line;
      }
      
      fclose ($file_handle);
      
      return $site_content;
    }
    
    $web_site_address=$_REQUEST['q'];
    
    if (!$web_site_address)
    {
    	// example site
    	$web_site_address='[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
    }
    
    $site_content=get_web_content($web_site_address);
    
    $converted_content=convert_w1256_to_utf_8($site_content);
    echo $converted_content;
    ?>

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


  6. #5

    تاریخ عضویت
    Feb 2006
    نوشته ها
    26
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    Re: مبدل دیتابیس

    کدها رو در برنامه قراد دادم بدون ارور هم بالا میاد اما باز با با utf-8 قاطی نشون میده و با arabic صحیح. ضمنا روی لوکال تست میکنم. شایدم من مطلب رو آنطور که هست برداشت نمیکنم . ((کافیست یا این کد رو در برنامه پیاده کنید یا اینکه در یک فایل جدا قرار دهید و بعد در برنامه اصلی آنرا Require کنید )) با تشکر از برادر ارجمند آقای فیروزمندان

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


  7. #6
    iransbs
    Guest

    Re: مبدل دیتابیس

    دوست عزیز در اینجا فقط کارکتر ها به UTF تبدیل می شن یعنی اگر سایت [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] به صورت arabic بود شما با تغییر
    کد:
    if (!$web_site_address)
    {
    	// example site
    	$web_site_address='[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
    }
    به
    کد:
    if (!$web_site_address)
    {
    	// example site
    	$web_site_address='[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
    }
    و اجرا فایل شما می توانید مامبو لرن را UTF ببینید حالا می خواهید می توانید بجای این آدرس ، آدرس فایل دیتابیس را وارد کنید

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


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

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

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

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