وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

رفع مشکل متن فارسی و UTF-8 در File Manager دایرکت ادمین

مشکل encoding فایل با فونت و charset پاسخ تفاوت دارد. قبل از ذخیرهٔ دوباره از فایل نسخهٔ اصلی بگیرید تا متن خراب‌شده بیشتر آسیب نبیند.

انتشار:
آخرین ویرایش:
توسط مصطفی جانقربان
۴ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله رفع مشکل متن فارسی و UTF-8 در File Manager دایرکت ادمین در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
فرض کنید عبارت «سلام دنیا» را در فایل می‌نویسید، اما بعد حروف نامفهوم می‌بینید. اول یک کپی از همان فایل دانلود کنید و در ویرایشگری مثل VS Code باز کنید. اگر روی رایانه درست دیده شد، ممکن است مشکل از نمایش یا ویرایشگر پنل باشد. اگر آنجا هم خراب بود، احتمالاً خود فایل با روش نادرست ذخیره شده است.

تفاوت خراب شدن فایل با خراب دیده شدن آن

روش ذخیرهٔ حروف را encoding می‌نامیم؛ UTF-8 یکی از روش‌های رایج برای نگهداری درست متن فارسی است. در ویرایشگر، encoding فعلی را ببینید. اگر فایل قدیمی با encoding دیگری سالم خوانده می‌شود، ابتدا آن را با همان روش درست باز کنید و سپس با گزینهٔ Save with Encoding، نسخهٔ UTF-8 بسازید. عوض کردن برچسب encoding روی متنِ از قبل خراب، حروف اصلی را جادویی برنمی‌گرداند.
تغییر را ابتدا روی یک کپی انجام دهید و سه کلمهٔ فارسی تازه اضافه کنید. ذخیره کنید، فایل را ببندید و دوباره باز کنید. اگر همان کلمه‌ها سالم ماندند، مرحلهٔ ذخیره درست است. سپس خروجی صفحهٔ سایت را ببینید. برای فایل PHP، نحوهٔ ذخیره باید با برنامه هماهنگ باشد؛ اگر مطمئن نیستید، نسخهٔ سالم و نمونهٔ خراب را بدون اطلاعات محرمانه برای پشتیبانی بفرستید.

نسخهٔ سالم را نگه دارید

پیش از ویرایش دوباره، فایل فعلی و اگر موجود است نسخهٔ قبل از مشکل را دانلود کنید. روی تنها نسخهٔ متن، تبدیل‌های متعدد انجام ندهید. اگر بایت‌های متن قبلاً با encoding اشتباه جایگزین شده باشند، تغییر گزینهٔ نمایش همیشه متن اصلی را برنمی‌گرداند.
یک فایل کوچک آزمایشی با چند جملهٔ فارسی بسازید. آن را با ویرایشگر مناسب به UTF-8 ذخیره و در مسیر غیرعمومی یا آزمایشی قرار دهید. نتیجهٔ خواندن در ویرایشگر محلی، File Manager و برنامهٔ وب را جدا مقایسه کنید. این کار نشان می‌دهد اختلاف هنگام ذخیره رخ می‌دهد یا هنگام نمایش.

تنظیم ویرایشگر و نوع فایل

در ویرایشگر محلی، encoding فعلی و encoding ذخیره را بررسی کنید. پسوند فایل به‌تنهایی نوع encoding را تعیین نمی‌کند. برای فایل PHP نیز وجود BOM یا متن ناخواستهٔ قبل از شروع کد می‌تواند پیام یا خروجی اضافی ایجاد کند؛ فایل تنظیم را با ابزار متنی مناسب و ساختار اصلی خودش ذخیره کنید.
در File Manager نسخهٔ فعلی پنل، امکانات انتخاب encoding یا ویرایش را از همان رابط بررسی کنید. تصویر مربوط به پنل قدیمی ممکن است جای گزینهٔ امروز را نشان ندهد. اگر ویرایشگر پنل فایل را درست نگه نمی‌دارد، استفاده از ویرایشگر محلی و انتقال امن فایل می‌تواند مسیر روشن‌تری باشد.

مسئلهٔ نمایش وب

اگر فایل در ویرایشگر سالم است ولی صفحهٔ وب متن خراب نشان می‌دهد، هدر پاسخ، اعلان charset صفحه و مسیر دیتابیس را بررسی کنید. HTML، فایل PHP و دادهٔ دیتابیس ممکن است تنظیم جدا داشته باشند. اعمال یک تنظیم سراسری بدون شناخت این زنجیره، علت را پنهان می‌کند.
برای دیتابیس، روش تبدیل و collation باید با نسخهٔ موتور و برنامه سازگار باشد. تغییر مستقیم دادهٔ اصلی برای آزمایش توصیه نمی‌شود؛ روی یک کپی کوچک نمونه کار کنید و نتیجهٔ فارسی را قبل از عملیات گروهی بررسی کنید.

تأیید اصلاح

فایل را دوباره دریافت کنید و متن فارسی را با نسخهٔ سالم مقایسه کنید. سپس صفحهٔ وابسته را در مرورگر تازه باز کنید. اگر کش وجود دارد، نتیجهٔ فایل و پاسخ تازه را جدا ببینید تا نمایش قدیمی با ذخیرهٔ جدید اشتباه نشود.
تا پایان بررسی، بکاپ فایل را نگه دارید. هدف این است که متن هنگام ذخیره و خواندن بدون تغییر بماند؛ یک گزینهٔ charset زمانی اصلاح محسوب می‌شود که همین نتیجه در فایل و برنامهٔ واقعی تأیید شده باشد.

منابع و ادامهٔ مطالعه

اشتراک‌گذاری:
لینکدینتلگرامایکس

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام