
نوشته اصلی توسط
Flynic
اگر به شل سرور دسترسی دارید با هر زبانی یا حتی خود بَش میتونید یک حلقه بنویسید که این کار رو انجام بده.
دستورش را هم در پست ۴ نوشتم.
ابتدا همین دستور را برای یک فایل اجرا کنید و ببینید تبدیل درست انجام میشود یا خیر. (البته تصور میکنم به جای windows-1256 باید ANSI باشد).
در مورد ماکرو منظورم رکورد کردن عملیات انجام تغییر انکودینگ در ادیتور بود. برنامههایی هستند که رکورد میکنند و تکرار میکنند.
http://www.mouserecorder.com
ببینید در مورد حلقه و هر چیز دیگه ای ابدا مشکلی نیست . حلقه برای تمامی کارها نوشته شده . همین انکدینگ مورد داره
بنده متوجه شدم مشکل کار iconv چی هست . انکودینگ ورودی رو اشتباه میزدم . انکدینگ رو با mb_detect_encoding میگرفتم و کدینگ رو ascii میداد ولی با ssh و دستور file -i گرفتم utf-16le داد و دستور کامل شد فایل جدید هم utf-8 شد
کد PHP:
$string = file_get_contents($str);
$string = iconv('utf-16le', 'UTF-8', $string);
$fp = fopen('123.srt', 'w+');
fwrite($fp, $string);
fclose($fp);
حالا موضوع اینجاست که چطوری کدینگ فایل مبدا رو بدون ترمینال و صحیح مشاهده کنم ؟
آیا راهی غیر از mbstring هست ؟