یکی از رایج‌ترین مشکلاتی که مدیران سایت‌های فارسی با آن روبه‌رو می‌شوند، به‌هم‌ریختگی حروف فارسی یا نمایش علامت سؤال (????) به جای متن است. این مشکل معمولاً به دلیل تنظیم نبودن صحیح charset روی UTF-8 رخ می‌دهد. خوشبختانه در بسیاری از مواقع می‌توان این مشکل را تنها با چند خط کد در فایل htaccess به‌صورت کامل برطرف کرد.

در این آموزش به‌صورت اصولی یاد می‌گیریم چگونه زبان وب‌سایت را با htaccess روی UTF-8 تنظیم کنیم.

با معرفی کد utf-۸ کردن زبان وب سایت توسط کد htaccess با شما هستیم در حالت کلی برای اینکه زبان مورد استفاده شده در وب سایت را به مرورگر معرفی کنیم معمولا آن را در قسمت هدر سایت قرار میدهند اما توسط کد زیر براحتی میتوانید این دستورات را به آپاچی بدهید و زبان utf۸ در کل وب سایت شما توسط سرور معرفی گردد

 

utf-8 چیست و چرا برای سایت‌های فارسی ضروری است؟

UTF-8 یک استاندارد کدگذاری جهانی است که از تمامی زبان‌ها از جمله فارسی، عربی، انگلیسی و… پشتیبانی می‌کند. اگر سایت شما روی UTF-8 تنظیم نباشد، احتمال دارد:

نوشته‌های فارسی ناخوانا نمایش داده شوند

دیتابیس و سایت هماهنگ نباشند

در سئو و ایندکس محتوا مشکل ایجاد شود

خروجی سایت در مرورگرهای مختلف متفاوت باشد

به همین دلیل، تنظیم UTF-8 یکی از پایه‌ای‌ترین اقدامات برای هر سایت فارسی محسوب می‌شود.

 

نقش فایل htaccess در تنظیم charset سایت

فایل htaccess یک فایل پیکربندی قدرتمند در سرورهای Apache است که می‌تواند رفتار سایت را بدون دسترسی به تنظیمات اصلی سرور تغییر دهد. یکی از کاربردهای مهم آن، تعیین charset پیش‌فرض صفحات سایت است.

با تعریف صحیح UTF-8 در htaccess، به مرورگر اعلام می‌کنیم که تمام محتوای سایت باید با این کدگذاری تفسیر شود.

 

کد استاندارد utf-8 کردن سایت با htaccess

۱- وارد هاست خود شوید به مسیر public-html < file manager بروید و فایل htaccess را توسط ویرایشگر هاست باز کرده و کد زیر را به ان اضافه کنید

# pass the default character set
AddDefaultCharset utf-۸

این ساده‌ترین و استانداردترین روش برای تعیین UTF-8 به‌عنوان charset پیش‌فرض سایت است.

 

تنظیم utf-8 برای HTML، CSS و JS به‌صورت جداگانه

در برخی موارد، بهتر است charset را به‌صورت دقیق‌تر برای فایل‌های مختلف مشخص کنیم:

AddCharset UTF-8 .html .htm .php .css .js

این کد باعث می‌شود تمام فایل‌های متنی سایت با UTF-8 پردازش شوند و از بروز مشکل در نمایش زبان فارسی جلوگیری شود.

 

بررسی صحت utf-8 بودن سایت پس از اعمال کد

بعد از ذخیره فایل htaccess:

کش مرورگر را پاک کنید

صفحات سایت را رفرش کنید

یک صفحه فارسی را بررسی کنید

سورس صفحه (View Source) را باز کرده و وجود UTF-8 را بررسی کنید

اگر متن‌ها بدون مشکل نمایش داده شدند، یعنی تنظیمات به‌درستی انجام شده است

 

نکته مهم برای کاربران وردپرس

اگر از وردپرس استفاده می‌کنید، علاوه بر htaccess حتماً موارد زیر را هم بررسی کنید:

charset دیتابیس روی utf8 یا utf8mb4 باشد

در فایل wp-config.php مقدار DB_CHARSET روی UTF-8 تنظیم شده باشد

قالب و افزونه‌ها از UTF-8 پشتیبانی کنند

هماهنگی بین وردپرس، دیتابیس و htaccess نقش مهمی در نمایش صحیح زبان فارسی دارد.

✅ رفع خطای utf8_persian_ci در وردپرس راه حل قطعی و ساده 

 

utf-8 کردن زبان وب‌سایت با کد htaccess یک راهکار ساده اما بسیار مؤثر برای حل مشکلات نمایش حروف فارسی است. با چند خط کد می‌توانید:

از به‌هم‌ریختگی متن جلوگیری کنید

سازگاری سایت با مرورگرها را افزایش دهید

تجربه کاربری و سئو سایت را بهبود دهید

اگر با زبان فارسی کار می‌کنید، تنظیم UTF-8 نه یک انتخاب، بلکه یک ضرورت است.

کد htaccess محافظت از وردپرس در برابر اسپم کامنت با قوانین Rewrite