نمایش نتایج: از شماره 1 تا 10 , از مجموع 14

موضوع: تغییر فایل به utf-8 در php

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : تغییر فایل به utf-8 در php

    نقل قول نوشته اصلی توسط Flynic نمایش پست ها
    کتابخانه‌ای به نام iconv در php وجود دارد که قابلیت تغییر انکودینگ رشته‌ها را دارد.

    این کتابخانه در اصل در لینوکس وجود دارد. با bash میتونید یک حلقه برای تبدیل انکودینگ همه‌ی فایل‌ها بنویسید.

    کد:
    iconv -f WINDOWS-1256 -t UTF-8 input.php --output output.php
    بله تمام مطالب موجود در نت مربوط به این کتابخانه + mbstring رو خوندم ولی متاسفانه نتونستم با اینها کدینگ فایل های ascii رو به utf-8 تغییر بدم . فایل هایی که در ادیتور cpanel با این کدینگ باز میشن ANSI_X3.110-1983

    چند روز هست که کل مقالات انگلیسی رو دارم میخونم ولی راه حلی در لینوکس نداره متاسفانه این موضوع ولی در ویندوز به راحتی میشه تغییر داد این کدینگ رو به utf-8

  2. #2
    عضو جدید
    تاریخ عضویت
    Sep 2016
    محل سکونت
    Iran
    نوشته ها
    21
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    13
    تشکر شده در
    13 پست

    پیش فرض پاسخ : تغییر فایل به utf-8 در php

    نقل قول نوشته اصلی توسط hoka نمایش پست ها
    بله تمام مطالب موجود در نت مربوط به این کتابخانه + mbstring رو خوندم ولی متاسفانه نتونستم با اینها کدینگ فایل های ascii رو به utf-8 تغییر بدم . فایل هایی که در ادیتور cpanel با این کدینگ باز میشن ANSI_X3.110-1983

    چند روز هست که کل مقالات انگلیسی رو دارم میخونم ولی راه حلی در لینوکس نداره متاسفانه این موضوع ولی در ویندوز به راحتی میشه تغییر داد این کدینگ رو به utf-8
    معمولا استفاده از iconv در php برای تغییر انکودینگ «فایل» پیشنهاد نمیشه.
    برای فایل‌ها بهتر است از ترمینال دستور رو وارد کنید. فقط لازم هست نوع انکودینگ فعلی درست وارد شود.

    اگر تعداد فایل‌ها کم هست هم میتونید با notepad++ یا sublime text 2 انکودینگ‌ها رو تغییر بدید و ذخیره کنید. و برای فایل‌ها زیاد شاید بشود چیزی مثل ماکرو طراحی کرد که خودکار انجام دهد.
    • امضاء این کاربر به دَلیل نَقض قَوانین سایت ، توسُطِ مُدیر حَذف شُده است.
    • جَهَتِ مُطالِعه قَوانین ، این قِسمت کلیک کُنید.

  3. تعداد تشکر ها از Flynic به دلیل پست مفید


  4. #3
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : تغییر فایل به utf-8 در php

    نقل قول نوشته اصلی توسط Flynic نمایش پست ها
    معمولا استفاده از iconv در php برای تغییر انکودینگ «فایل» پیشنهاد نمیشه.
    برای فایل‌ها بهتر است از ترمینال دستور رو وارد کنید. فقط لازم هست نوع انکودینگ فعلی درست وارد شود.

    اگر تعداد فایل‌ها کم هست هم میتونید با notepad++ یا sublime text 2 انکودینگ‌ها رو تغییر بدید و ذخیره کنید. و برای فایل‌ها زیاد شاید بشود چیزی مثل ماکرو طراحی کرد که خودکار انجام دهد.
    متاسفانه تعداد فایل ها به شدت بالا هست . حدود 200 هزار فایل یا بیشتر برای همین شدیدا دنبال راهی برای این موضوع هستم که خودکار باشه و مستقیم روی سرور خودم انجام بشه چون کار های دیگه ای هم قرار هست بعد از تغییر انکودینگ روی فایل ها انجام بشه . در مورد ترمینال باز میشه به php متصلش کرد اگر بفرمایید راهش رو ممنون میشم

    در مورد ماکرو هم ممنون میشم یک توضیح کوتاهی بفرمایید
    ویرایش توسط hoka : March 8th, 2017 در ساعت 18:56

  5. #4
    عضو جدید
    تاریخ عضویت
    Sep 2016
    محل سکونت
    Iran
    نوشته ها
    21
    تشکر تشکر کرده 
    2
    تشکر تشکر شده 
    13
    تشکر شده در
    13 پست

    پیش فرض پاسخ : تغییر فایل به utf-8 در php

    نقل قول نوشته اصلی توسط hoka نمایش پست ها
    متاسفانه تعداد فایل ها به شدت بالا هست . حدود 200 هزار فایل یا بیشتر برای همین شدیدا دنبال راهی برای این موضوع هستم که خودکار باشه و مستقیم روی سرور خودم انجام بشه چون کار های دیگه ای هم قرار هست بعد از تغییر انکودینگ روی فایل ها انجام بشه . در مورد ترمینال باز میشه به php متصلش کرد اگر بفرمایید راهش رو ممنون میشم

    در مورد ماکرو هم ممنون میشم یک توضیح کوتاهی بفرمایید
    اگر به شل سرور دسترسی دارید با هر زبانی یا حتی خود بَش میتونید یک حلقه بنویسید که این کار رو انجام بده.
    دستورش را هم در پست ۴ نوشتم.
    ابتدا همین دستور را برای یک فایل اجرا کنید و ببینید تبدیل درست انجام می‌شود یا خیر. (البته تصور میکنم به جای windows-1256 باید ANSI باشد).

    در مورد ماکرو منظورم رکورد کردن عملیات انجام تغییر انکودینگ در ادیتور بود. برنامه‌هایی هستند که رکورد می‌کنند و تکرار می‌کنند.
    http://www.mouserecorder.com
    • امضاء این کاربر به دَلیل نَقض قَوانین سایت ، توسُطِ مُدیر حَذف شُده است.
    • جَهَتِ مُطالِعه قَوانین ، این قِسمت کلیک کُنید.

  6. تعداد تشکر ها از Flynic به دلیل پست مفید


  7. #5
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : تغییر فایل به utf-8 در php

    نقل قول نوشته اصلی توسط 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 هست ؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. رقصیدن با گوگل: تغییر، تغییر و باز هم تغییر در الگوریتم
    توسط sibait در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: July 16th, 2017, 04:22
  2. پیام Welcome to nginx و تغییر به 404 بعد از تغییرات
    توسط mohammadali3517 در انجمن وب سرورها
    پاسخ ها: 3
    آخرين نوشته: August 15th, 2014, 00:00
  3. تغییر قیمت محصول - عدم تغییر قیمت فاکتور
    توسط azarnet در انجمن سوالات و مشکلات
    پاسخ ها: 8
    آخرين نوشته: November 3rd, 2013, 09:34
  4. در خواست کمک برای تغییر تنظیمات کلوکسو بعد از تغییر ایپی اصلی vps
    توسط cacodemon در انجمن کلوکسو يا ال ايکس ادمين Kloxo or LXAdmin
    پاسخ ها: 10
    آخرين نوشته: June 16th, 2013, 14:50
  5. تغییر timezone وب سایت در .htaccess - تغییر زمان
    توسط irmizban در انجمن سی پنل CPanel
    پاسخ ها: 0
    آخرين نوشته: February 19th, 2012, 22:17

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

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