مشکل اینکودینگ اطلاعات دریافتی از نت

1230456

Member
سلام

من نیاز دارم که یه رشته فارسی رو از اینترنت بگیرم که فرمتش Utf-8 هست

حالا با پلاگین های معمول که این رشته رو از URL میگیرم به صورت به هم ریخته نشون می ده توی MMB باید به چه encoding تبدیل بشه ؟
 

محمدمهدی

Well-Known Member
سلام
عزیزم انکود مورد نیاز شما باید در فرمت ANSI باشه که اگر عربی/فارسی هست باید دقیقا Windows-1256 باشه.
اگر فرمت فایل دانلود شده Unicode و مثلا UTF-8 هست، برای فراخوانیش در ام ام بی به یک تبدیل کننده احتیاج داری.
از اونجایی که پلاگین سالم و مثال خوبی برای تبدیل Unicode به ANSI و بالعکس پیدا نکردم، نمونه ای رو برای شما ساختم که اون رو در بانک ابزار و فایل های سودمند قرار دادم.

برای دانلود نمونه مثال با استفاده از یک ابزار رایگان تبدیل Encoding، به لینک زیر مراجعه کنید :
http://forum.majidonline.com/thread...UTF-8-به-Windows-1256-فارسی-قابل-فراخوانی-MMB
توضیحاتش رو به طور کامل در خود پست شرح دادم.
 

1230456

Member
تشکر از پاسختون، فکر کردم کسی راه حل نداره خودم دست به کار شدم و یه تابع برای php نوشتم که اینجا می زارم شاید کسی نیاز پیدا کرد.

[PHPS]
function to_ascii($matches)
{
$org = array('ا','آ','ب','پ','ت','ث','ج','چ','ح','خ','د','ذ','ر','ز','ژ','س','ش','ص','ض','ط','ظ','ع','غ','ف','ق','ک','گ','ل','م','ن','و','ه','ي','ی');
$to = array(chr(0xc7),chr(0xc2),chr(0xc8),chr(0x81),chr(0xca),chr(0xcb),chr(0xcc),chr(0x8d),chr(0xcd),chr(0xce),chr(0xcf),chr(0xd0),chr(0xd1),chr(0xd2),chr(0x8e),chr(0xd3),chr(0xd4),chr(0xd5),chr(0xd6),chr(0xd8),chr(0xd9),chr(0xda),chr(0xdb),chr(0xdd),chr(0xde),chr(0x98),chr(0x90),chr(0xe1),chr(0xe3),chr(0xe4),chr(0xe6),chr(0xe5),chr(0xed),chr(0xed));
return str_replace($org, $to, $matches);
}
[/PHPS]

این تابع وقتی که یه رشته UTF-8 رو بهش می دید تبدیل می کنه به ASCII. که برای مواردی که اسکریپت سمت سایت رو خودتون بخواید بنویسید بسیار عالی کار می کنه.
 

جدیدترین ارسال ها

بالا