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

یه مبدل برای تبدیل دیتابیس یک کامپوننت به زبان عربی(windows-1256) به utf_8 لازم داشتم. از دوستان کسی سراغ داره؟
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
کد:<?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]; } ?>
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
باید آپلودش کنیم؟ اما جواب نداد لطفا یه توضیح مختصری هم عنایت بکنید
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
کافیست یا این کد رو در برنامه پیاده کنید یا اینکه در یک فایل جدا قرار دهید و بعد در برنامه اصلی آنرا 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; ?>
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
کدها رو در برنامه قراد دادم بدون ارور هم بالا میاد اما باز با با utf-8 قاطی نشون میده و با arabic صحیح. ضمنا روی لوکال تست میکنم. شایدم من مطلب رو آنطور که هست برداشت نمیکنم . ((کافیست یا این کد رو در برنامه پیاده کنید یا اینکه در یک فایل جدا قرار دهید و بعد در برنامه اصلی آنرا Require کنید )) با تشکر از برادر ارجمند آقای فیروزمندان
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
دوست عزیز در اینجا فقط کارکتر ها به UTF تبدیل می شن یعنی اگر سایت [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] به صورت arabic بود شما با تغییر
بهکد:if (!$web_site_address) { // example site $web_site_address='[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] }
و اجرا فایل شما می توانید مامبو لرن را UTF ببینید حالا می خواهید می توانید بجای این آدرس ، آدرس فایل دیتابیس را وارد کنیدکد:if (!$web_site_address) { // example site $web_site_address='[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] }
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
علاقه مندی ها (Bookmarks)